1// Copyright 2021 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// Creating a client 14// 15// Usage example: 16// 17// import "google.golang.org/api/vision/v1p2beta1" 18// ... 19// ctx := context.Background() 20// visionService, err := vision.NewService(ctx) 21// 22// In this example, Google Application Default Credentials are used for authentication. 23// 24// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. 25// 26// Other authentication options 27// 28// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes: 29// 30// visionService, err := vision.NewService(ctx, option.WithScopes(vision.CloudVisionScope)) 31// 32// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: 33// 34// visionService, err := vision.NewService(ctx, option.WithAPIKey("AIza...")) 35// 36// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: 37// 38// config := &oauth2.Config{...} 39// // ... 40// token, err := config.Exchange(ctx, ...) 41// visionService, err := vision.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) 42// 43// See https://godoc.org/google.golang.org/api/option/ for details on options. 44package vision // import "google.golang.org/api/vision/v1p2beta1" 45 46import ( 47 "bytes" 48 "context" 49 "encoding/json" 50 "errors" 51 "fmt" 52 "io" 53 "net/http" 54 "net/url" 55 "strconv" 56 "strings" 57 58 googleapi "google.golang.org/api/googleapi" 59 gensupport "google.golang.org/api/internal/gensupport" 60 option "google.golang.org/api/option" 61 internaloption "google.golang.org/api/option/internaloption" 62 htransport "google.golang.org/api/transport/http" 63) 64 65// Always reference these packages, just in case the auto-generated code 66// below doesn't. 67var _ = bytes.NewBuffer 68var _ = strconv.Itoa 69var _ = fmt.Sprintf 70var _ = json.NewDecoder 71var _ = io.Copy 72var _ = url.Parse 73var _ = gensupport.MarshalJSON 74var _ = googleapi.Version 75var _ = errors.New 76var _ = strings.Replace 77var _ = context.Canceled 78var _ = internaloption.WithDefaultEndpoint 79 80const apiId = "vision:v1p2beta1" 81const apiName = "vision" 82const apiVersion = "v1p2beta1" 83const basePath = "https://vision.googleapis.com/" 84const mtlsBasePath = "https://vision.mtls.googleapis.com/" 85 86// OAuth2 scopes used by this API. 87const ( 88 // See, edit, configure, and delete your Google Cloud data and see the 89 // email address for your Google Account. 90 CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" 91 92 // Apply machine learning models to understand and label images 93 CloudVisionScope = "https://www.googleapis.com/auth/cloud-vision" 94) 95 96// NewService creates a new Service. 97func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { 98 scopesOption := option.WithScopes( 99 "https://www.googleapis.com/auth/cloud-platform", 100 "https://www.googleapis.com/auth/cloud-vision", 101 ) 102 // NOTE: prepend, so we don't override user-specified scopes. 103 opts = append([]option.ClientOption{scopesOption}, opts...) 104 opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) 105 opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) 106 client, endpoint, err := htransport.NewClient(ctx, opts...) 107 if err != nil { 108 return nil, err 109 } 110 s, err := New(client) 111 if err != nil { 112 return nil, err 113 } 114 if endpoint != "" { 115 s.BasePath = endpoint 116 } 117 return s, nil 118} 119 120// New creates a new Service. It uses the provided http.Client for requests. 121// 122// Deprecated: please use NewService instead. 123// To provide a custom HTTP client, use option.WithHTTPClient. 124// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. 125func New(client *http.Client) (*Service, error) { 126 if client == nil { 127 return nil, errors.New("client is nil") 128 } 129 s := &Service{client: client, BasePath: basePath} 130 s.Files = NewFilesService(s) 131 s.Images = NewImagesService(s) 132 s.Projects = NewProjectsService(s) 133 return s, nil 134} 135 136type Service struct { 137 client *http.Client 138 BasePath string // API endpoint base URL 139 UserAgent string // optional additional User-Agent fragment 140 141 Files *FilesService 142 143 Images *ImagesService 144 145 Projects *ProjectsService 146} 147 148func (s *Service) userAgent() string { 149 if s.UserAgent == "" { 150 return googleapi.UserAgent 151 } 152 return googleapi.UserAgent + " " + s.UserAgent 153} 154 155func NewFilesService(s *Service) *FilesService { 156 rs := &FilesService{s: s} 157 return rs 158} 159 160type FilesService struct { 161 s *Service 162} 163 164func NewImagesService(s *Service) *ImagesService { 165 rs := &ImagesService{s: s} 166 return rs 167} 168 169type ImagesService struct { 170 s *Service 171} 172 173func NewProjectsService(s *Service) *ProjectsService { 174 rs := &ProjectsService{s: s} 175 rs.Files = NewProjectsFilesService(s) 176 rs.Images = NewProjectsImagesService(s) 177 rs.Locations = NewProjectsLocationsService(s) 178 return rs 179} 180 181type ProjectsService struct { 182 s *Service 183 184 Files *ProjectsFilesService 185 186 Images *ProjectsImagesService 187 188 Locations *ProjectsLocationsService 189} 190 191func NewProjectsFilesService(s *Service) *ProjectsFilesService { 192 rs := &ProjectsFilesService{s: s} 193 return rs 194} 195 196type ProjectsFilesService struct { 197 s *Service 198} 199 200func NewProjectsImagesService(s *Service) *ProjectsImagesService { 201 rs := &ProjectsImagesService{s: s} 202 return rs 203} 204 205type ProjectsImagesService struct { 206 s *Service 207} 208 209func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { 210 rs := &ProjectsLocationsService{s: s} 211 rs.Files = NewProjectsLocationsFilesService(s) 212 rs.Images = NewProjectsLocationsImagesService(s) 213 return rs 214} 215 216type ProjectsLocationsService struct { 217 s *Service 218 219 Files *ProjectsLocationsFilesService 220 221 Images *ProjectsLocationsImagesService 222} 223 224func NewProjectsLocationsFilesService(s *Service) *ProjectsLocationsFilesService { 225 rs := &ProjectsLocationsFilesService{s: s} 226 return rs 227} 228 229type ProjectsLocationsFilesService struct { 230 s *Service 231} 232 233func NewProjectsLocationsImagesService(s *Service) *ProjectsLocationsImagesService { 234 rs := &ProjectsLocationsImagesService{s: s} 235 return rs 236} 237 238type ProjectsLocationsImagesService struct { 239 s *Service 240} 241 242// AnnotateFileResponse: Response to a single file annotation request. A 243// file may contain one or more images, which individually have their 244// own responses. 245type AnnotateFileResponse struct { 246 // Error: If set, represents the error message for the failed request. 247 // The `responses` field will not be set in this case. 248 Error *Status `json:"error,omitempty"` 249 250 // InputConfig: Information about the file for which this response is 251 // generated. 252 InputConfig *InputConfig `json:"inputConfig,omitempty"` 253 254 // Responses: Individual responses to images found within the file. This 255 // field will be empty if the `error` field is set. 256 Responses []*AnnotateImageResponse `json:"responses,omitempty"` 257 258 // TotalPages: This field gives the total number of pages in the file. 259 TotalPages int64 `json:"totalPages,omitempty"` 260 261 // ForceSendFields is a list of field names (e.g. "Error") to 262 // unconditionally include in API requests. By default, fields with 263 // empty or default values are omitted from API requests. However, any 264 // non-pointer, non-interface field appearing in ForceSendFields will be 265 // sent to the server regardless of whether the field is empty or not. 266 // This may be used to include empty fields in Patch requests. 267 ForceSendFields []string `json:"-"` 268 269 // NullFields is a list of field names (e.g. "Error") to include in API 270 // requests with the JSON null value. By default, fields with empty 271 // values are omitted from API requests. However, any field with an 272 // empty value appearing in NullFields will be sent to the server as 273 // null. It is an error if a field in this list has a non-empty value. 274 // This may be used to include null fields in Patch requests. 275 NullFields []string `json:"-"` 276} 277 278func (s *AnnotateFileResponse) MarshalJSON() ([]byte, error) { 279 type NoMethod AnnotateFileResponse 280 raw := NoMethod(*s) 281 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 282} 283 284// AnnotateImageResponse: Response to an image annotation request. 285type AnnotateImageResponse struct { 286 // Context: If present, contextual information is needed to understand 287 // where this image comes from. 288 Context *ImageAnnotationContext `json:"context,omitempty"` 289 290 // CropHintsAnnotation: If present, crop hints have completed 291 // successfully. 292 CropHintsAnnotation *CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 293 294 // Error: If set, represents the error message for the operation. Note 295 // that filled-in image annotations are guaranteed to be correct, even 296 // when `error` is set. 297 Error *Status `json:"error,omitempty"` 298 299 // FaceAnnotations: If present, face detection has completed 300 // successfully. 301 FaceAnnotations []*FaceAnnotation `json:"faceAnnotations,omitempty"` 302 303 // FullTextAnnotation: If present, text (OCR) detection or document 304 // (OCR) text detection has completed successfully. This annotation 305 // provides the structural hierarchy for the OCR detected text. 306 FullTextAnnotation *TextAnnotation `json:"fullTextAnnotation,omitempty"` 307 308 // ImagePropertiesAnnotation: If present, image properties were 309 // extracted successfully. 310 ImagePropertiesAnnotation *ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 311 312 // LabelAnnotations: If present, label detection has completed 313 // successfully. 314 LabelAnnotations []*EntityAnnotation `json:"labelAnnotations,omitempty"` 315 316 // LandmarkAnnotations: If present, landmark detection has completed 317 // successfully. 318 LandmarkAnnotations []*EntityAnnotation `json:"landmarkAnnotations,omitempty"` 319 320 // LocalizedObjectAnnotations: If present, localized object detection 321 // has completed successfully. This will be sorted descending by 322 // confidence score. 323 LocalizedObjectAnnotations []*LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 324 325 // LogoAnnotations: If present, logo detection has completed 326 // successfully. 327 LogoAnnotations []*EntityAnnotation `json:"logoAnnotations,omitempty"` 328 329 // ProductSearchResults: If present, product search has completed 330 // successfully. 331 ProductSearchResults *ProductSearchResults `json:"productSearchResults,omitempty"` 332 333 // SafeSearchAnnotation: If present, safe-search annotation has 334 // completed successfully. 335 SafeSearchAnnotation *SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 336 337 // TextAnnotations: If present, text (OCR) detection has completed 338 // successfully. 339 TextAnnotations []*EntityAnnotation `json:"textAnnotations,omitempty"` 340 341 // WebDetection: If present, web detection has completed successfully. 342 WebDetection *WebDetection `json:"webDetection,omitempty"` 343 344 // ForceSendFields is a list of field names (e.g. "Context") to 345 // unconditionally include in API requests. By default, fields with 346 // empty or default values are omitted from API requests. However, any 347 // non-pointer, non-interface field appearing in ForceSendFields will be 348 // sent to the server regardless of whether the field is empty or not. 349 // This may be used to include empty fields in Patch requests. 350 ForceSendFields []string `json:"-"` 351 352 // NullFields is a list of field names (e.g. "Context") to include in 353 // API requests with the JSON null value. By default, fields with empty 354 // values are omitted from API requests. However, any field with an 355 // empty value appearing in NullFields will be sent to the server as 356 // null. It is an error if a field in this list has a non-empty value. 357 // This may be used to include null fields in Patch requests. 358 NullFields []string `json:"-"` 359} 360 361func (s *AnnotateImageResponse) MarshalJSON() ([]byte, error) { 362 type NoMethod AnnotateImageResponse 363 raw := NoMethod(*s) 364 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 365} 366 367// AsyncAnnotateFileResponse: The response for a single offline file 368// annotation request. 369type AsyncAnnotateFileResponse struct { 370 // OutputConfig: The output location and metadata from 371 // AsyncAnnotateFileRequest. 372 OutputConfig *OutputConfig `json:"outputConfig,omitempty"` 373 374 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 375 // unconditionally include in API requests. By default, fields with 376 // empty or default values are omitted from API requests. However, any 377 // non-pointer, non-interface field appearing in ForceSendFields will be 378 // sent to the server regardless of whether the field is empty or not. 379 // This may be used to include empty fields in Patch requests. 380 ForceSendFields []string `json:"-"` 381 382 // NullFields is a list of field names (e.g. "OutputConfig") to include 383 // in API requests with the JSON null value. By default, fields with 384 // empty values are omitted from API requests. However, any field with 385 // an empty value appearing in NullFields will be sent to the server as 386 // null. It is an error if a field in this list has a non-empty value. 387 // This may be used to include null fields in Patch requests. 388 NullFields []string `json:"-"` 389} 390 391func (s *AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 392 type NoMethod AsyncAnnotateFileResponse 393 raw := NoMethod(*s) 394 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 395} 396 397// AsyncBatchAnnotateFilesResponse: Response to an async batch file 398// annotation request. 399type AsyncBatchAnnotateFilesResponse struct { 400 // Responses: The list of file annotation responses, one for each 401 // request in AsyncBatchAnnotateFilesRequest. 402 Responses []*AsyncAnnotateFileResponse `json:"responses,omitempty"` 403 404 // ForceSendFields is a list of field names (e.g. "Responses") to 405 // unconditionally include in API requests. By default, fields with 406 // empty or default values are omitted from API requests. However, any 407 // non-pointer, non-interface field appearing in ForceSendFields will be 408 // sent to the server regardless of whether the field is empty or not. 409 // This may be used to include empty fields in Patch requests. 410 ForceSendFields []string `json:"-"` 411 412 // NullFields is a list of field names (e.g. "Responses") to include in 413 // API requests with the JSON null value. By default, fields with empty 414 // values are omitted from API requests. However, any field with an 415 // empty value appearing in NullFields will be sent to the server as 416 // null. It is an error if a field in this list has a non-empty value. 417 // This may be used to include null fields in Patch requests. 418 NullFields []string `json:"-"` 419} 420 421func (s *AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 422 type NoMethod AsyncBatchAnnotateFilesResponse 423 raw := NoMethod(*s) 424 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 425} 426 427// AsyncBatchAnnotateImagesResponse: Response to an async batch image 428// annotation request. 429type AsyncBatchAnnotateImagesResponse struct { 430 // OutputConfig: The output location and metadata from 431 // AsyncBatchAnnotateImagesRequest. 432 OutputConfig *OutputConfig `json:"outputConfig,omitempty"` 433 434 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 435 // unconditionally include in API requests. By default, fields with 436 // empty or default values are omitted from API requests. However, any 437 // non-pointer, non-interface field appearing in ForceSendFields will be 438 // sent to the server regardless of whether the field is empty or not. 439 // This may be used to include empty fields in Patch requests. 440 ForceSendFields []string `json:"-"` 441 442 // NullFields is a list of field names (e.g. "OutputConfig") to include 443 // in API requests with the JSON null value. By default, fields with 444 // empty values are omitted from API requests. However, any field with 445 // an empty value appearing in NullFields will be sent to the server as 446 // null. It is an error if a field in this list has a non-empty value. 447 // This may be used to include null fields in Patch requests. 448 NullFields []string `json:"-"` 449} 450 451func (s *AsyncBatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 452 type NoMethod AsyncBatchAnnotateImagesResponse 453 raw := NoMethod(*s) 454 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 455} 456 457// BatchAnnotateFilesResponse: A list of file annotation responses. 458type BatchAnnotateFilesResponse struct { 459 // Responses: The list of file annotation responses, each response 460 // corresponding to each AnnotateFileRequest in 461 // BatchAnnotateFilesRequest. 462 Responses []*AnnotateFileResponse `json:"responses,omitempty"` 463 464 // ForceSendFields is a list of field names (e.g. "Responses") to 465 // unconditionally include in API requests. By default, fields with 466 // empty or default values are omitted from API requests. However, any 467 // non-pointer, non-interface field appearing in ForceSendFields will be 468 // sent to the server regardless of whether the field is empty or not. 469 // This may be used to include empty fields in Patch requests. 470 ForceSendFields []string `json:"-"` 471 472 // NullFields is a list of field names (e.g. "Responses") to include in 473 // API requests with the JSON null value. By default, fields with empty 474 // values are omitted from API requests. However, any field with an 475 // empty value appearing in NullFields will be sent to the server as 476 // null. It is an error if a field in this list has a non-empty value. 477 // This may be used to include null fields in Patch requests. 478 NullFields []string `json:"-"` 479} 480 481func (s *BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 482 type NoMethod BatchAnnotateFilesResponse 483 raw := NoMethod(*s) 484 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 485} 486 487// BatchOperationMetadata: Metadata for the batch operations such as the 488// current state. This is included in the `metadata` field of the 489// `Operation` returned by the `GetOperation` call of the 490// `google::longrunning::Operations` service. 491type BatchOperationMetadata struct { 492 // EndTime: The time when the batch request is finished and 493 // google.longrunning.Operation.done is set to true. 494 EndTime string `json:"endTime,omitempty"` 495 496 // State: The current state of the batch operation. 497 // 498 // Possible values: 499 // "STATE_UNSPECIFIED" - Invalid. 500 // "PROCESSING" - Request is actively being processed. 501 // "SUCCESSFUL" - The request is done and at least one item has been 502 // successfully processed. 503 // "FAILED" - The request is done and no item has been successfully 504 // processed. 505 // "CANCELLED" - The request is done after the 506 // longrunning.Operations.CancelOperation has been called by the user. 507 // Any records that were processed before the cancel command are output 508 // as specified in the request. 509 State string `json:"state,omitempty"` 510 511 // SubmitTime: The time when the batch request was submitted to the 512 // server. 513 SubmitTime string `json:"submitTime,omitempty"` 514 515 // ForceSendFields is a list of field names (e.g. "EndTime") to 516 // unconditionally include in API requests. By default, fields with 517 // empty or default values are omitted from API requests. However, any 518 // non-pointer, non-interface field appearing in ForceSendFields will be 519 // sent to the server regardless of whether the field is empty or not. 520 // This may be used to include empty fields in Patch requests. 521 ForceSendFields []string `json:"-"` 522 523 // NullFields is a list of field names (e.g. "EndTime") to include in 524 // API requests with the JSON null value. By default, fields with empty 525 // values are omitted from API requests. However, any field with an 526 // empty value appearing in NullFields will be sent to the server as 527 // null. It is an error if a field in this list has a non-empty value. 528 // This may be used to include null fields in Patch requests. 529 NullFields []string `json:"-"` 530} 531 532func (s *BatchOperationMetadata) MarshalJSON() ([]byte, error) { 533 type NoMethod BatchOperationMetadata 534 raw := NoMethod(*s) 535 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 536} 537 538// Block: Logical element on the page. 539type Block struct { 540 // BlockType: Detected block type (text, image etc) for this block. 541 // 542 // Possible values: 543 // "UNKNOWN" - Unknown block type. 544 // "TEXT" - Regular text block. 545 // "TABLE" - Table block. 546 // "PICTURE" - Image block. 547 // "RULER" - Horizontal/vertical line box. 548 // "BARCODE" - Barcode block. 549 BlockType string `json:"blockType,omitempty"` 550 551 // BoundingBox: The bounding box for the block. The vertices are in the 552 // order of top-left, top-right, bottom-right, bottom-left. When a 553 // rotation of the bounding box is detected the rotation is represented 554 // as around the top-left corner as defined when the text is read in the 555 // 'natural' orientation. For example: * when the text is horizontal it 556 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 557 // around the top-left corner it becomes: 2----3 | | 1----0 and the 558 // vertex order will still be (0, 1, 2, 3). 559 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 560 561 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 562 Confidence float64 `json:"confidence,omitempty"` 563 564 // Paragraphs: List of paragraphs in this block (if this blocks is of 565 // type text). 566 Paragraphs []*Paragraph `json:"paragraphs,omitempty"` 567 568 // Property: Additional information detected for the block. 569 Property *TextProperty `json:"property,omitempty"` 570 571 // ForceSendFields is a list of field names (e.g. "BlockType") to 572 // unconditionally include in API requests. By default, fields with 573 // empty or default values are omitted from API requests. However, any 574 // non-pointer, non-interface field appearing in ForceSendFields will be 575 // sent to the server regardless of whether the field is empty or not. 576 // This may be used to include empty fields in Patch requests. 577 ForceSendFields []string `json:"-"` 578 579 // NullFields is a list of field names (e.g. "BlockType") to include in 580 // API requests with the JSON null value. By default, fields with empty 581 // values are omitted from API requests. However, any field with an 582 // empty value appearing in NullFields will be sent to the server as 583 // null. It is an error if a field in this list has a non-empty value. 584 // This may be used to include null fields in Patch requests. 585 NullFields []string `json:"-"` 586} 587 588func (s *Block) MarshalJSON() ([]byte, error) { 589 type NoMethod Block 590 raw := NoMethod(*s) 591 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 592} 593 594func (s *Block) UnmarshalJSON(data []byte) error { 595 type NoMethod Block 596 var s1 struct { 597 Confidence gensupport.JSONFloat64 `json:"confidence"` 598 *NoMethod 599 } 600 s1.NoMethod = (*NoMethod)(s) 601 if err := json.Unmarshal(data, &s1); err != nil { 602 return err 603 } 604 s.Confidence = float64(s1.Confidence) 605 return nil 606} 607 608// BoundingPoly: A bounding polygon for the detected image annotation. 609type BoundingPoly struct { 610 // NormalizedVertices: The bounding polygon normalized vertices. 611 NormalizedVertices []*NormalizedVertex `json:"normalizedVertices,omitempty"` 612 613 // Vertices: The bounding polygon vertices. 614 Vertices []*Vertex `json:"vertices,omitempty"` 615 616 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 617 // to unconditionally include in API requests. By default, fields with 618 // empty or default values are omitted from API requests. However, any 619 // non-pointer, non-interface field appearing in ForceSendFields will be 620 // sent to the server regardless of whether the field is empty or not. 621 // This may be used to include empty fields in Patch requests. 622 ForceSendFields []string `json:"-"` 623 624 // NullFields is a list of field names (e.g. "NormalizedVertices") to 625 // include in API requests with the JSON null value. By default, fields 626 // with empty values are omitted from API requests. However, any field 627 // with an empty value appearing in NullFields will be sent to the 628 // server as null. It is an error if a field in this list has a 629 // non-empty value. This may be used to include null fields in Patch 630 // requests. 631 NullFields []string `json:"-"` 632} 633 634func (s *BoundingPoly) MarshalJSON() ([]byte, error) { 635 type NoMethod BoundingPoly 636 raw := NoMethod(*s) 637 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 638} 639 640// Color: Represents a color in the RGBA color space. This 641// representation is designed for simplicity of conversion to/from color 642// representations in various languages over compactness. For example, 643// the fields of this representation can be trivially provided to the 644// constructor of `java.awt.Color` in Java; it can also be trivially 645// provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; 646// and, with just a little work, it can be easily formatted into a CSS 647// `rgba()` string in JavaScript. This reference page doesn't carry 648// information about the absolute color space that should be used to 649// interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, 650// etc.). By default, applications should assume the sRGB color space. 651// When color equality needs to be decided, implementations, unless 652// documented otherwise, treat two colors as equal if all their red, 653// green, blue, and alpha values each differ by at most 1e-5. Example 654// (Java): import com.google.type.Color; // ... public static 655// java.awt.Color fromProto(Color protocolor) { float alpha = 656// protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; 657// return new java.awt.Color( protocolor.getRed(), 658// protocolor.getGreen(), protocolor.getBlue(), alpha); } public static 659// Color toProto(java.awt.Color color) { float red = (float) 660// color.getRed(); float green = (float) color.getGreen(); float blue = 661// (float) color.getBlue(); float denominator = 255.0; Color.Builder 662// resultBuilder = Color .newBuilder() .setRed(red / denominator) 663// .setGreen(green / denominator) .setBlue(blue / denominator); int 664// alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( 665// FloatValue .newBuilder() .setValue(((float) alpha) / denominator) 666// .build()); } return resultBuilder.build(); } // ... Example (iOS / 667// Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float 668// red = [protocolor red]; float green = [protocolor green]; float blue 669// = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; 670// float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper 671// value]; } return [UIColor colorWithRed:red green:green blue:blue 672// alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, 673// green, blue, alpha; if (![color getRed:&red green:&green blue:&blue 674// alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; 675// [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; 676// if (alpha <= 0.9999) { [result 677// setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; 678// return result; } // ... Example (JavaScript): // ... var 679// protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red 680// || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = 681// rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green 682// = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); 683// if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, 684// blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams 685// = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', 686// alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, 687// blue) { var rgbNumber = new Number((red << 16) | (green << 8) | 688// blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - 689// hexString.length; var resultBuilder = ['#']; for (var i = 0; i < 690// missingZeros; i++) { resultBuilder.push('0'); } 691// resultBuilder.push(hexString); return resultBuilder.join(''); }; // 692// ... 693type Color struct { 694 // Alpha: The fraction of this color that should be applied to the 695 // pixel. That is, the final pixel color is defined by the equation: 696 // `pixel color = alpha * (this color) + (1.0 - alpha) * (background 697 // color)` This means that a value of 1.0 corresponds to a solid color, 698 // whereas a value of 0.0 corresponds to a completely transparent color. 699 // This uses a wrapper message rather than a simple float scalar so that 700 // it is possible to distinguish between a default value and the value 701 // being unset. If omitted, this color object is rendered as a solid 702 // color (as if the alpha value had been explicitly given a value of 703 // 1.0). 704 Alpha float64 `json:"alpha,omitempty"` 705 706 // Blue: The amount of blue in the color as a value in the interval [0, 707 // 1]. 708 Blue float64 `json:"blue,omitempty"` 709 710 // Green: The amount of green in the color as a value in the interval 711 // [0, 1]. 712 Green float64 `json:"green,omitempty"` 713 714 // Red: The amount of red in the color as a value in the interval [0, 715 // 1]. 716 Red float64 `json:"red,omitempty"` 717 718 // ForceSendFields is a list of field names (e.g. "Alpha") to 719 // unconditionally include in API requests. By default, fields with 720 // empty or default values are omitted from API requests. However, any 721 // non-pointer, non-interface field appearing in ForceSendFields will be 722 // sent to the server regardless of whether the field is empty or not. 723 // This may be used to include empty fields in Patch requests. 724 ForceSendFields []string `json:"-"` 725 726 // NullFields is a list of field names (e.g. "Alpha") to include in API 727 // requests with the JSON null value. By default, fields with empty 728 // values are omitted from API requests. However, any field with an 729 // empty value appearing in NullFields will be sent to the server as 730 // null. It is an error if a field in this list has a non-empty value. 731 // This may be used to include null fields in Patch requests. 732 NullFields []string `json:"-"` 733} 734 735func (s *Color) MarshalJSON() ([]byte, error) { 736 type NoMethod Color 737 raw := NoMethod(*s) 738 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 739} 740 741func (s *Color) UnmarshalJSON(data []byte) error { 742 type NoMethod Color 743 var s1 struct { 744 Alpha gensupport.JSONFloat64 `json:"alpha"` 745 Blue gensupport.JSONFloat64 `json:"blue"` 746 Green gensupport.JSONFloat64 `json:"green"` 747 Red gensupport.JSONFloat64 `json:"red"` 748 *NoMethod 749 } 750 s1.NoMethod = (*NoMethod)(s) 751 if err := json.Unmarshal(data, &s1); err != nil { 752 return err 753 } 754 s.Alpha = float64(s1.Alpha) 755 s.Blue = float64(s1.Blue) 756 s.Green = float64(s1.Green) 757 s.Red = float64(s1.Red) 758 return nil 759} 760 761// ColorInfo: Color information consists of RGB channels, score, and the 762// fraction of the image that the color occupies in the image. 763type ColorInfo struct { 764 // Color: RGB components of the color. 765 Color *Color `json:"color,omitempty"` 766 767 // PixelFraction: The fraction of pixels the color occupies in the 768 // image. Value in range [0, 1]. 769 PixelFraction float64 `json:"pixelFraction,omitempty"` 770 771 // Score: Image-specific score for this color. Value in range [0, 1]. 772 Score float64 `json:"score,omitempty"` 773 774 // ForceSendFields is a list of field names (e.g. "Color") to 775 // unconditionally include in API requests. By default, fields with 776 // empty or default values are omitted from API requests. However, any 777 // non-pointer, non-interface field appearing in ForceSendFields will be 778 // sent to the server regardless of whether the field is empty or not. 779 // This may be used to include empty fields in Patch requests. 780 ForceSendFields []string `json:"-"` 781 782 // NullFields is a list of field names (e.g. "Color") to include in API 783 // requests with the JSON null value. By default, fields with empty 784 // values are omitted from API requests. However, any field with an 785 // empty value appearing in NullFields will be sent to the server as 786 // null. It is an error if a field in this list has a non-empty value. 787 // This may be used to include null fields in Patch requests. 788 NullFields []string `json:"-"` 789} 790 791func (s *ColorInfo) MarshalJSON() ([]byte, error) { 792 type NoMethod ColorInfo 793 raw := NoMethod(*s) 794 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 795} 796 797func (s *ColorInfo) UnmarshalJSON(data []byte) error { 798 type NoMethod ColorInfo 799 var s1 struct { 800 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 801 Score gensupport.JSONFloat64 `json:"score"` 802 *NoMethod 803 } 804 s1.NoMethod = (*NoMethod)(s) 805 if err := json.Unmarshal(data, &s1); err != nil { 806 return err 807 } 808 s.PixelFraction = float64(s1.PixelFraction) 809 s.Score = float64(s1.Score) 810 return nil 811} 812 813// CropHint: Single crop hint that is used to generate a new crop when 814// serving an image. 815type CropHint struct { 816 // BoundingPoly: The bounding polygon for the crop region. The 817 // coordinates of the bounding box are in the original image's scale. 818 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 819 820 // Confidence: Confidence of this being a salient region. Range [0, 1]. 821 Confidence float64 `json:"confidence,omitempty"` 822 823 // ImportanceFraction: Fraction of importance of this salient region 824 // with respect to the original image. 825 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 826 827 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 828 // unconditionally include in API requests. By default, fields with 829 // empty or default values are omitted from API requests. However, any 830 // non-pointer, non-interface field appearing in ForceSendFields will be 831 // sent to the server regardless of whether the field is empty or not. 832 // This may be used to include empty fields in Patch requests. 833 ForceSendFields []string `json:"-"` 834 835 // NullFields is a list of field names (e.g. "BoundingPoly") to include 836 // in API requests with the JSON null value. By default, fields with 837 // empty values are omitted from API requests. However, any field with 838 // an empty value appearing in NullFields will be sent to the server as 839 // null. It is an error if a field in this list has a non-empty value. 840 // This may be used to include null fields in Patch requests. 841 NullFields []string `json:"-"` 842} 843 844func (s *CropHint) MarshalJSON() ([]byte, error) { 845 type NoMethod CropHint 846 raw := NoMethod(*s) 847 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 848} 849 850func (s *CropHint) UnmarshalJSON(data []byte) error { 851 type NoMethod CropHint 852 var s1 struct { 853 Confidence gensupport.JSONFloat64 `json:"confidence"` 854 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 855 *NoMethod 856 } 857 s1.NoMethod = (*NoMethod)(s) 858 if err := json.Unmarshal(data, &s1); err != nil { 859 return err 860 } 861 s.Confidence = float64(s1.Confidence) 862 s.ImportanceFraction = float64(s1.ImportanceFraction) 863 return nil 864} 865 866// CropHintsAnnotation: Set of crop hints that are used to generate new 867// crops when serving images. 868type CropHintsAnnotation struct { 869 // CropHints: Crop hint results. 870 CropHints []*CropHint `json:"cropHints,omitempty"` 871 872 // ForceSendFields is a list of field names (e.g. "CropHints") to 873 // unconditionally include in API requests. By default, fields with 874 // empty or default values are omitted from API requests. However, any 875 // non-pointer, non-interface field appearing in ForceSendFields will be 876 // sent to the server regardless of whether the field is empty or not. 877 // This may be used to include empty fields in Patch requests. 878 ForceSendFields []string `json:"-"` 879 880 // NullFields is a list of field names (e.g. "CropHints") to include in 881 // API requests with the JSON null value. By default, fields with empty 882 // values are omitted from API requests. However, any field with an 883 // empty value appearing in NullFields will be sent to the server as 884 // null. It is an error if a field in this list has a non-empty value. 885 // This may be used to include null fields in Patch requests. 886 NullFields []string `json:"-"` 887} 888 889func (s *CropHintsAnnotation) MarshalJSON() ([]byte, error) { 890 type NoMethod CropHintsAnnotation 891 raw := NoMethod(*s) 892 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 893} 894 895// DetectedBreak: Detected start or end of a structural component. 896type DetectedBreak struct { 897 // IsPrefix: True if break prepends the element. 898 IsPrefix bool `json:"isPrefix,omitempty"` 899 900 // Type: Detected break type. 901 // 902 // Possible values: 903 // "UNKNOWN" - Unknown break label type. 904 // "SPACE" - Regular space. 905 // "SURE_SPACE" - Sure space (very wide). 906 // "EOL_SURE_SPACE" - Line-wrapping break. 907 // "HYPHEN" - End-line hyphen that is not present in text; does not 908 // co-occur with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 909 // "LINE_BREAK" - Line break that ends a paragraph. 910 Type string `json:"type,omitempty"` 911 912 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 913 // unconditionally include in API requests. By default, fields with 914 // empty or default values are omitted from API requests. However, any 915 // non-pointer, non-interface field appearing in ForceSendFields will be 916 // sent to the server regardless of whether the field is empty or not. 917 // This may be used to include empty fields in Patch requests. 918 ForceSendFields []string `json:"-"` 919 920 // NullFields is a list of field names (e.g. "IsPrefix") to include in 921 // API requests with the JSON null value. By default, fields with empty 922 // values are omitted from API requests. However, any field with an 923 // empty value appearing in NullFields will be sent to the server as 924 // null. It is an error if a field in this list has a non-empty value. 925 // This may be used to include null fields in Patch requests. 926 NullFields []string `json:"-"` 927} 928 929func (s *DetectedBreak) MarshalJSON() ([]byte, error) { 930 type NoMethod DetectedBreak 931 raw := NoMethod(*s) 932 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 933} 934 935// DetectedLanguage: Detected language for a structural component. 936type DetectedLanguage struct { 937 // Confidence: Confidence of detected language. Range [0, 1]. 938 Confidence float64 `json:"confidence,omitempty"` 939 940 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 941 // For more information, see 942 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 943 LanguageCode string `json:"languageCode,omitempty"` 944 945 // ForceSendFields is a list of field names (e.g. "Confidence") to 946 // unconditionally include in API requests. By default, fields with 947 // empty or default values are omitted from API requests. However, any 948 // non-pointer, non-interface field appearing in ForceSendFields will be 949 // sent to the server regardless of whether the field is empty or not. 950 // This may be used to include empty fields in Patch requests. 951 ForceSendFields []string `json:"-"` 952 953 // NullFields is a list of field names (e.g. "Confidence") to include in 954 // API requests with the JSON null value. By default, fields with empty 955 // values are omitted from API requests. However, any field with an 956 // empty value appearing in NullFields will be sent to the server as 957 // null. It is an error if a field in this list has a non-empty value. 958 // This may be used to include null fields in Patch requests. 959 NullFields []string `json:"-"` 960} 961 962func (s *DetectedLanguage) MarshalJSON() ([]byte, error) { 963 type NoMethod DetectedLanguage 964 raw := NoMethod(*s) 965 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 966} 967 968func (s *DetectedLanguage) UnmarshalJSON(data []byte) error { 969 type NoMethod DetectedLanguage 970 var s1 struct { 971 Confidence gensupport.JSONFloat64 `json:"confidence"` 972 *NoMethod 973 } 974 s1.NoMethod = (*NoMethod)(s) 975 if err := json.Unmarshal(data, &s1); err != nil { 976 return err 977 } 978 s.Confidence = float64(s1.Confidence) 979 return nil 980} 981 982// DominantColorsAnnotation: Set of dominant colors and their 983// corresponding scores. 984type DominantColorsAnnotation struct { 985 // Colors: RGB color values with their score and pixel fraction. 986 Colors []*ColorInfo `json:"colors,omitempty"` 987 988 // ForceSendFields is a list of field names (e.g. "Colors") to 989 // unconditionally include in API requests. By default, fields with 990 // empty or default values are omitted from API requests. However, any 991 // non-pointer, non-interface field appearing in ForceSendFields will be 992 // sent to the server regardless of whether the field is empty or not. 993 // This may be used to include empty fields in Patch requests. 994 ForceSendFields []string `json:"-"` 995 996 // NullFields is a list of field names (e.g. "Colors") to include in API 997 // requests with the JSON null value. By default, fields with empty 998 // values are omitted from API requests. However, any field with an 999 // empty value appearing in NullFields will be sent to the server as 1000 // null. It is an error if a field in this list has a non-empty value. 1001 // This may be used to include null fields in Patch requests. 1002 NullFields []string `json:"-"` 1003} 1004 1005func (s *DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 1006 type NoMethod DominantColorsAnnotation 1007 raw := NoMethod(*s) 1008 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1009} 1010 1011// EntityAnnotation: Set of detected entity features. 1012type EntityAnnotation struct { 1013 // BoundingPoly: Image region to which this entity belongs. Not produced 1014 // for `LABEL_DETECTION` features. 1015 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 1016 1017 // Confidence: **Deprecated. Use `score` instead.** The accuracy of the 1018 // entity detection in an image. For example, for an image in which the 1019 // "Eiffel Tower" entity is detected, this field represents the 1020 // confidence that there is a tower in the query image. Range [0, 1]. 1021 Confidence float64 `json:"confidence,omitempty"` 1022 1023 // Description: Entity textual description, expressed in its `locale` 1024 // language. 1025 Description string `json:"description,omitempty"` 1026 1027 // Locale: The language code for the locale in which the entity textual 1028 // `description` is expressed. 1029 Locale string `json:"locale,omitempty"` 1030 1031 // Locations: The location information for the detected entity. Multiple 1032 // `LocationInfo` elements can be present because one location may 1033 // indicate the location of the scene in the image, and another location 1034 // may indicate the location of the place where the image was taken. 1035 // Location information is usually present for landmarks. 1036 Locations []*LocationInfo `json:"locations,omitempty"` 1037 1038 // Mid: Opaque entity ID. Some IDs may be available in Google Knowledge 1039 // Graph Search API (https://developers.google.com/knowledge-graph/). 1040 Mid string `json:"mid,omitempty"` 1041 1042 // Properties: Some entities may have optional user-supplied `Property` 1043 // (name/value) fields, such a score or string that qualifies the 1044 // entity. 1045 Properties []*Property `json:"properties,omitempty"` 1046 1047 // Score: Overall score of the result. Range [0, 1]. 1048 Score float64 `json:"score,omitempty"` 1049 1050 // Topicality: The relevancy of the ICA (Image Content Annotation) label 1051 // to the image. For example, the relevancy of "tower" is likely higher 1052 // to an image containing the detected "Eiffel Tower" than to an image 1053 // containing a detected distant towering building, even though the 1054 // confidence that there is a tower in each image may be the same. Range 1055 // [0, 1]. 1056 Topicality float64 `json:"topicality,omitempty"` 1057 1058 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 1059 // unconditionally include in API requests. By default, fields with 1060 // empty or default values are omitted from API requests. However, any 1061 // non-pointer, non-interface field appearing in ForceSendFields will be 1062 // sent to the server regardless of whether the field is empty or not. 1063 // This may be used to include empty fields in Patch requests. 1064 ForceSendFields []string `json:"-"` 1065 1066 // NullFields is a list of field names (e.g. "BoundingPoly") to include 1067 // in API requests with the JSON null value. By default, fields with 1068 // empty values are omitted from API requests. However, any field with 1069 // an empty value appearing in NullFields will be sent to the server as 1070 // null. It is an error if a field in this list has a non-empty value. 1071 // This may be used to include null fields in Patch requests. 1072 NullFields []string `json:"-"` 1073} 1074 1075func (s *EntityAnnotation) MarshalJSON() ([]byte, error) { 1076 type NoMethod EntityAnnotation 1077 raw := NoMethod(*s) 1078 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1079} 1080 1081func (s *EntityAnnotation) UnmarshalJSON(data []byte) error { 1082 type NoMethod EntityAnnotation 1083 var s1 struct { 1084 Confidence gensupport.JSONFloat64 `json:"confidence"` 1085 Score gensupport.JSONFloat64 `json:"score"` 1086 Topicality gensupport.JSONFloat64 `json:"topicality"` 1087 *NoMethod 1088 } 1089 s1.NoMethod = (*NoMethod)(s) 1090 if err := json.Unmarshal(data, &s1); err != nil { 1091 return err 1092 } 1093 s.Confidence = float64(s1.Confidence) 1094 s.Score = float64(s1.Score) 1095 s.Topicality = float64(s1.Topicality) 1096 return nil 1097} 1098 1099// FaceAnnotation: A face annotation object contains the results of face 1100// detection. 1101type FaceAnnotation struct { 1102 // AngerLikelihood: Anger likelihood. 1103 // 1104 // Possible values: 1105 // "UNKNOWN" - Unknown likelihood. 1106 // "VERY_UNLIKELY" - It is very unlikely. 1107 // "UNLIKELY" - It is unlikely. 1108 // "POSSIBLE" - It is possible. 1109 // "LIKELY" - It is likely. 1110 // "VERY_LIKELY" - It is very likely. 1111 AngerLikelihood string `json:"angerLikelihood,omitempty"` 1112 1113 // BlurredLikelihood: Blurred likelihood. 1114 // 1115 // Possible values: 1116 // "UNKNOWN" - Unknown likelihood. 1117 // "VERY_UNLIKELY" - It is very unlikely. 1118 // "UNLIKELY" - It is unlikely. 1119 // "POSSIBLE" - It is possible. 1120 // "LIKELY" - It is likely. 1121 // "VERY_LIKELY" - It is very likely. 1122 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 1123 1124 // BoundingPoly: The bounding polygon around the face. The coordinates 1125 // of the bounding box are in the original image's scale. The bounding 1126 // box is computed to "frame" the face in accordance with human 1127 // expectations. It is based on the landmarker results. Note that one or 1128 // more x and/or y coordinates may not be generated in the 1129 // `BoundingPoly` (the polygon will be unbounded) if only a partial face 1130 // appears in the image to be annotated. 1131 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 1132 1133 // DetectionConfidence: Detection confidence. Range [0, 1]. 1134 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 1135 1136 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 1137 // than the `boundingPoly`, and encloses only the skin part of the face. 1138 // Typically, it is used to eliminate the face from any image analysis 1139 // that detects the "amount of skin" visible in an image. It is not 1140 // based on the landmarker results, only on the initial face detection, 1141 // hence the fd (face detection) prefix. 1142 FdBoundingPoly *BoundingPoly `json:"fdBoundingPoly,omitempty"` 1143 1144 // HeadwearLikelihood: Headwear likelihood. 1145 // 1146 // Possible values: 1147 // "UNKNOWN" - Unknown likelihood. 1148 // "VERY_UNLIKELY" - It is very unlikely. 1149 // "UNLIKELY" - It is unlikely. 1150 // "POSSIBLE" - It is possible. 1151 // "LIKELY" - It is likely. 1152 // "VERY_LIKELY" - It is very likely. 1153 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 1154 1155 // JoyLikelihood: Joy likelihood. 1156 // 1157 // Possible values: 1158 // "UNKNOWN" - Unknown likelihood. 1159 // "VERY_UNLIKELY" - It is very unlikely. 1160 // "UNLIKELY" - It is unlikely. 1161 // "POSSIBLE" - It is possible. 1162 // "LIKELY" - It is likely. 1163 // "VERY_LIKELY" - It is very likely. 1164 JoyLikelihood string `json:"joyLikelihood,omitempty"` 1165 1166 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 1167 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 1168 1169 // Landmarks: Detected face landmarks. 1170 Landmarks []*Landmark `json:"landmarks,omitempty"` 1171 1172 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 1173 // that the face is pointing relative to the vertical plane 1174 // perpendicular to the image. Range [-180,180]. 1175 PanAngle float64 `json:"panAngle,omitempty"` 1176 1177 // RollAngle: Roll angle, which indicates the amount of 1178 // clockwise/anti-clockwise rotation of the face relative to the image 1179 // vertical about the axis perpendicular to the face. Range [-180,180]. 1180 RollAngle float64 `json:"rollAngle,omitempty"` 1181 1182 // SorrowLikelihood: Sorrow likelihood. 1183 // 1184 // Possible values: 1185 // "UNKNOWN" - Unknown likelihood. 1186 // "VERY_UNLIKELY" - It is very unlikely. 1187 // "UNLIKELY" - It is unlikely. 1188 // "POSSIBLE" - It is possible. 1189 // "LIKELY" - It is likely. 1190 // "VERY_LIKELY" - It is very likely. 1191 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 1192 1193 // SurpriseLikelihood: Surprise likelihood. 1194 // 1195 // Possible values: 1196 // "UNKNOWN" - Unknown likelihood. 1197 // "VERY_UNLIKELY" - It is very unlikely. 1198 // "UNLIKELY" - It is unlikely. 1199 // "POSSIBLE" - It is possible. 1200 // "LIKELY" - It is likely. 1201 // "VERY_LIKELY" - It is very likely. 1202 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 1203 1204 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 1205 // that the face is pointing relative to the image's horizontal plane. 1206 // Range [-180,180]. 1207 TiltAngle float64 `json:"tiltAngle,omitempty"` 1208 1209 // UnderExposedLikelihood: Under-exposed likelihood. 1210 // 1211 // Possible values: 1212 // "UNKNOWN" - Unknown likelihood. 1213 // "VERY_UNLIKELY" - It is very unlikely. 1214 // "UNLIKELY" - It is unlikely. 1215 // "POSSIBLE" - It is possible. 1216 // "LIKELY" - It is likely. 1217 // "VERY_LIKELY" - It is very likely. 1218 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 1219 1220 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 1221 // unconditionally include in API requests. By default, fields with 1222 // empty or default values are omitted from API requests. However, any 1223 // non-pointer, non-interface field appearing in ForceSendFields will be 1224 // sent to the server regardless of whether the field is empty or not. 1225 // This may be used to include empty fields in Patch requests. 1226 ForceSendFields []string `json:"-"` 1227 1228 // NullFields is a list of field names (e.g. "AngerLikelihood") to 1229 // include in API requests with the JSON null value. By default, fields 1230 // with empty values are omitted from API requests. However, any field 1231 // with an empty value appearing in NullFields will be sent to the 1232 // server as null. It is an error if a field in this list has a 1233 // non-empty value. This may be used to include null fields in Patch 1234 // requests. 1235 NullFields []string `json:"-"` 1236} 1237 1238func (s *FaceAnnotation) MarshalJSON() ([]byte, error) { 1239 type NoMethod FaceAnnotation 1240 raw := NoMethod(*s) 1241 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1242} 1243 1244func (s *FaceAnnotation) UnmarshalJSON(data []byte) error { 1245 type NoMethod FaceAnnotation 1246 var s1 struct { 1247 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 1248 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 1249 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 1250 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 1251 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 1252 *NoMethod 1253 } 1254 s1.NoMethod = (*NoMethod)(s) 1255 if err := json.Unmarshal(data, &s1); err != nil { 1256 return err 1257 } 1258 s.DetectionConfidence = float64(s1.DetectionConfidence) 1259 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 1260 s.PanAngle = float64(s1.PanAngle) 1261 s.RollAngle = float64(s1.RollAngle) 1262 s.TiltAngle = float64(s1.TiltAngle) 1263 return nil 1264} 1265 1266// GcsDestination: The Google Cloud Storage location where the output 1267// will be written to. 1268type GcsDestination struct { 1269 // Uri: Google Cloud Storage URI prefix where the results will be 1270 // stored. Results will be in JSON format and preceded by its 1271 // corresponding input URI prefix. This field can either represent a gcs 1272 // file prefix or gcs directory. In either case, the uri should be 1273 // unique because in order to get all of the output files, you will need 1274 // to do a wildcard gcs search on the uri prefix you provide. Examples: 1275 // * File Prefix: gs://bucket-name/here/filenameprefix The output files 1276 // will be created in gs://bucket-name/here/ and the names of the output 1277 // files will begin with "filenameprefix". * Directory Prefix: 1278 // gs://bucket-name/some/location/ The output files will be created in 1279 // gs://bucket-name/some/location/ and the names of the output files 1280 // could be anything because there was no filename prefix specified. If 1281 // multiple outputs, each response is still AnnotateFileResponse, each 1282 // of which contains some subset of the full list of 1283 // AnnotateImageResponse. Multiple outputs can happen if, for example, 1284 // the output JSON is too large and overflows into multiple sharded 1285 // files. 1286 Uri string `json:"uri,omitempty"` 1287 1288 // ForceSendFields is a list of field names (e.g. "Uri") to 1289 // unconditionally include in API requests. By default, fields with 1290 // empty or default values are omitted from API requests. However, any 1291 // non-pointer, non-interface field appearing in ForceSendFields will be 1292 // sent to the server regardless of whether the field is empty or not. 1293 // This may be used to include empty fields in Patch requests. 1294 ForceSendFields []string `json:"-"` 1295 1296 // NullFields is a list of field names (e.g. "Uri") to include in API 1297 // requests with the JSON null value. By default, fields with empty 1298 // values are omitted from API requests. However, any field with an 1299 // empty value appearing in NullFields will be sent to the server as 1300 // null. It is an error if a field in this list has a non-empty value. 1301 // This may be used to include null fields in Patch requests. 1302 NullFields []string `json:"-"` 1303} 1304 1305func (s *GcsDestination) MarshalJSON() ([]byte, error) { 1306 type NoMethod GcsDestination 1307 raw := NoMethod(*s) 1308 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1309} 1310 1311// GcsSource: The Google Cloud Storage location where the input will be 1312// read from. 1313type GcsSource struct { 1314 // Uri: Google Cloud Storage URI for the input file. This must only be a 1315 // Google Cloud Storage object. Wildcards are not currently supported. 1316 Uri string `json:"uri,omitempty"` 1317 1318 // ForceSendFields is a list of field names (e.g. "Uri") to 1319 // unconditionally include in API requests. By default, fields with 1320 // empty or default values are omitted from API requests. However, any 1321 // non-pointer, non-interface field appearing in ForceSendFields will be 1322 // sent to the server regardless of whether the field is empty or not. 1323 // This may be used to include empty fields in Patch requests. 1324 ForceSendFields []string `json:"-"` 1325 1326 // NullFields is a list of field names (e.g. "Uri") to include in API 1327 // requests with the JSON null value. By default, fields with empty 1328 // values are omitted from API requests. However, any field with an 1329 // empty value appearing in NullFields will be sent to the server as 1330 // null. It is an error if a field in this list has a non-empty value. 1331 // This may be used to include null fields in Patch requests. 1332 NullFields []string `json:"-"` 1333} 1334 1335func (s *GcsSource) MarshalJSON() ([]byte, error) { 1336 type NoMethod GcsSource 1337 raw := NoMethod(*s) 1338 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1339} 1340 1341// GoogleCloudVisionV1p1beta1AnnotateFileResponse: Response to a single 1342// file annotation request. A file may contain one or more images, which 1343// individually have their own responses. 1344type GoogleCloudVisionV1p1beta1AnnotateFileResponse struct { 1345 // Error: If set, represents the error message for the failed request. 1346 // The `responses` field will not be set in this case. 1347 Error *Status `json:"error,omitempty"` 1348 1349 // InputConfig: Information about the file for which this response is 1350 // generated. 1351 InputConfig *GoogleCloudVisionV1p1beta1InputConfig `json:"inputConfig,omitempty"` 1352 1353 // Responses: Individual responses to images found within the file. This 1354 // field will be empty if the `error` field is set. 1355 Responses []*GoogleCloudVisionV1p1beta1AnnotateImageResponse `json:"responses,omitempty"` 1356 1357 // TotalPages: This field gives the total number of pages in the file. 1358 TotalPages int64 `json:"totalPages,omitempty"` 1359 1360 // ForceSendFields is a list of field names (e.g. "Error") to 1361 // unconditionally include in API requests. By default, fields with 1362 // empty or default values are omitted from API requests. However, any 1363 // non-pointer, non-interface field appearing in ForceSendFields will be 1364 // sent to the server regardless of whether the field is empty or not. 1365 // This may be used to include empty fields in Patch requests. 1366 ForceSendFields []string `json:"-"` 1367 1368 // NullFields is a list of field names (e.g. "Error") to include in API 1369 // requests with the JSON null value. By default, fields with empty 1370 // values are omitted from API requests. However, any field with an 1371 // empty value appearing in NullFields will be sent to the server as 1372 // null. It is an error if a field in this list has a non-empty value. 1373 // This may be used to include null fields in Patch requests. 1374 NullFields []string `json:"-"` 1375} 1376 1377func (s *GoogleCloudVisionV1p1beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 1378 type NoMethod GoogleCloudVisionV1p1beta1AnnotateFileResponse 1379 raw := NoMethod(*s) 1380 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1381} 1382 1383// GoogleCloudVisionV1p1beta1AnnotateImageResponse: Response to an image 1384// annotation request. 1385type GoogleCloudVisionV1p1beta1AnnotateImageResponse struct { 1386 // Context: If present, contextual information is needed to understand 1387 // where this image comes from. 1388 Context *GoogleCloudVisionV1p1beta1ImageAnnotationContext `json:"context,omitempty"` 1389 1390 // CropHintsAnnotation: If present, crop hints have completed 1391 // successfully. 1392 CropHintsAnnotation *GoogleCloudVisionV1p1beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 1393 1394 // Error: If set, represents the error message for the operation. Note 1395 // that filled-in image annotations are guaranteed to be correct, even 1396 // when `error` is set. 1397 Error *Status `json:"error,omitempty"` 1398 1399 // FaceAnnotations: If present, face detection has completed 1400 // successfully. 1401 FaceAnnotations []*GoogleCloudVisionV1p1beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 1402 1403 // FullTextAnnotation: If present, text (OCR) detection or document 1404 // (OCR) text detection has completed successfully. This annotation 1405 // provides the structural hierarchy for the OCR detected text. 1406 FullTextAnnotation *GoogleCloudVisionV1p1beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 1407 1408 // ImagePropertiesAnnotation: If present, image properties were 1409 // extracted successfully. 1410 ImagePropertiesAnnotation *GoogleCloudVisionV1p1beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 1411 1412 // LabelAnnotations: If present, label detection has completed 1413 // successfully. 1414 LabelAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 1415 1416 // LandmarkAnnotations: If present, landmark detection has completed 1417 // successfully. 1418 LandmarkAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 1419 1420 // LocalizedObjectAnnotations: If present, localized object detection 1421 // has completed successfully. This will be sorted descending by 1422 // confidence score. 1423 LocalizedObjectAnnotations []*GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 1424 1425 // LogoAnnotations: If present, logo detection has completed 1426 // successfully. 1427 LogoAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 1428 1429 // ProductSearchResults: If present, product search has completed 1430 // successfully. 1431 ProductSearchResults *GoogleCloudVisionV1p1beta1ProductSearchResults `json:"productSearchResults,omitempty"` 1432 1433 // SafeSearchAnnotation: If present, safe-search annotation has 1434 // completed successfully. 1435 SafeSearchAnnotation *GoogleCloudVisionV1p1beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 1436 1437 // TextAnnotations: If present, text (OCR) detection has completed 1438 // successfully. 1439 TextAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"textAnnotations,omitempty"` 1440 1441 // WebDetection: If present, web detection has completed successfully. 1442 WebDetection *GoogleCloudVisionV1p1beta1WebDetection `json:"webDetection,omitempty"` 1443 1444 // ForceSendFields is a list of field names (e.g. "Context") to 1445 // unconditionally include in API requests. By default, fields with 1446 // empty or default values are omitted from API requests. However, any 1447 // non-pointer, non-interface field appearing in ForceSendFields will be 1448 // sent to the server regardless of whether the field is empty or not. 1449 // This may be used to include empty fields in Patch requests. 1450 ForceSendFields []string `json:"-"` 1451 1452 // NullFields is a list of field names (e.g. "Context") to include in 1453 // API requests with the JSON null value. By default, fields with empty 1454 // values are omitted from API requests. However, any field with an 1455 // empty value appearing in NullFields will be sent to the server as 1456 // null. It is an error if a field in this list has a non-empty value. 1457 // This may be used to include null fields in Patch requests. 1458 NullFields []string `json:"-"` 1459} 1460 1461func (s *GoogleCloudVisionV1p1beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 1462 type NoMethod GoogleCloudVisionV1p1beta1AnnotateImageResponse 1463 raw := NoMethod(*s) 1464 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1465} 1466 1467// GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse: The response for 1468// a single offline file annotation request. 1469type GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse struct { 1470 // OutputConfig: The output location and metadata from 1471 // AsyncAnnotateFileRequest. 1472 OutputConfig *GoogleCloudVisionV1p1beta1OutputConfig `json:"outputConfig,omitempty"` 1473 1474 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 1475 // unconditionally include in API requests. By default, fields with 1476 // empty or default values are omitted from API requests. However, any 1477 // non-pointer, non-interface field appearing in ForceSendFields will be 1478 // sent to the server regardless of whether the field is empty or not. 1479 // This may be used to include empty fields in Patch requests. 1480 ForceSendFields []string `json:"-"` 1481 1482 // NullFields is a list of field names (e.g. "OutputConfig") to include 1483 // in API requests with the JSON null value. By default, fields with 1484 // empty values are omitted from API requests. However, any field with 1485 // an empty value appearing in NullFields will be sent to the server as 1486 // null. It is an error if a field in this list has a non-empty value. 1487 // This may be used to include null fields in Patch requests. 1488 NullFields []string `json:"-"` 1489} 1490 1491func (s *GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 1492 type NoMethod GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse 1493 raw := NoMethod(*s) 1494 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1495} 1496 1497// GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse: Response 1498// to an async batch file annotation request. 1499type GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse struct { 1500 // Responses: The list of file annotation responses, one for each 1501 // request in AsyncBatchAnnotateFilesRequest. 1502 Responses []*GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 1503 1504 // ForceSendFields is a list of field names (e.g. "Responses") to 1505 // unconditionally include in API requests. By default, fields with 1506 // empty or default values are omitted from API requests. However, any 1507 // non-pointer, non-interface field appearing in ForceSendFields will be 1508 // sent to the server regardless of whether the field is empty or not. 1509 // This may be used to include empty fields in Patch requests. 1510 ForceSendFields []string `json:"-"` 1511 1512 // NullFields is a list of field names (e.g. "Responses") to include in 1513 // API requests with the JSON null value. By default, fields with empty 1514 // values are omitted from API requests. However, any field with an 1515 // empty value appearing in NullFields will be sent to the server as 1516 // null. It is an error if a field in this list has a non-empty value. 1517 // This may be used to include null fields in Patch requests. 1518 NullFields []string `json:"-"` 1519} 1520 1521func (s *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 1522 type NoMethod GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse 1523 raw := NoMethod(*s) 1524 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1525} 1526 1527// GoogleCloudVisionV1p1beta1Block: Logical element on the page. 1528type GoogleCloudVisionV1p1beta1Block struct { 1529 // BlockType: Detected block type (text, image etc) for this block. 1530 // 1531 // Possible values: 1532 // "UNKNOWN" - Unknown block type. 1533 // "TEXT" - Regular text block. 1534 // "TABLE" - Table block. 1535 // "PICTURE" - Image block. 1536 // "RULER" - Horizontal/vertical line box. 1537 // "BARCODE" - Barcode block. 1538 BlockType string `json:"blockType,omitempty"` 1539 1540 // BoundingBox: The bounding box for the block. The vertices are in the 1541 // order of top-left, top-right, bottom-right, bottom-left. When a 1542 // rotation of the bounding box is detected the rotation is represented 1543 // as around the top-left corner as defined when the text is read in the 1544 // 'natural' orientation. For example: * when the text is horizontal it 1545 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 1546 // around the top-left corner it becomes: 2----3 | | 1----0 and the 1547 // vertex order will still be (0, 1, 2, 3). 1548 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 1549 1550 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 1551 Confidence float64 `json:"confidence,omitempty"` 1552 1553 // Paragraphs: List of paragraphs in this block (if this blocks is of 1554 // type text). 1555 Paragraphs []*GoogleCloudVisionV1p1beta1Paragraph `json:"paragraphs,omitempty"` 1556 1557 // Property: Additional information detected for the block. 1558 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 1559 1560 // ForceSendFields is a list of field names (e.g. "BlockType") to 1561 // unconditionally include in API requests. By default, fields with 1562 // empty or default values are omitted from API requests. However, any 1563 // non-pointer, non-interface field appearing in ForceSendFields will be 1564 // sent to the server regardless of whether the field is empty or not. 1565 // This may be used to include empty fields in Patch requests. 1566 ForceSendFields []string `json:"-"` 1567 1568 // NullFields is a list of field names (e.g. "BlockType") to include in 1569 // API requests with the JSON null value. By default, fields with empty 1570 // values are omitted from API requests. However, any field with an 1571 // empty value appearing in NullFields will be sent to the server as 1572 // null. It is an error if a field in this list has a non-empty value. 1573 // This may be used to include null fields in Patch requests. 1574 NullFields []string `json:"-"` 1575} 1576 1577func (s *GoogleCloudVisionV1p1beta1Block) MarshalJSON() ([]byte, error) { 1578 type NoMethod GoogleCloudVisionV1p1beta1Block 1579 raw := NoMethod(*s) 1580 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1581} 1582 1583func (s *GoogleCloudVisionV1p1beta1Block) UnmarshalJSON(data []byte) error { 1584 type NoMethod GoogleCloudVisionV1p1beta1Block 1585 var s1 struct { 1586 Confidence gensupport.JSONFloat64 `json:"confidence"` 1587 *NoMethod 1588 } 1589 s1.NoMethod = (*NoMethod)(s) 1590 if err := json.Unmarshal(data, &s1); err != nil { 1591 return err 1592 } 1593 s.Confidence = float64(s1.Confidence) 1594 return nil 1595} 1596 1597// GoogleCloudVisionV1p1beta1BoundingPoly: A bounding polygon for the 1598// detected image annotation. 1599type GoogleCloudVisionV1p1beta1BoundingPoly struct { 1600 // NormalizedVertices: The bounding polygon normalized vertices. 1601 NormalizedVertices []*GoogleCloudVisionV1p1beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 1602 1603 // Vertices: The bounding polygon vertices. 1604 Vertices []*GoogleCloudVisionV1p1beta1Vertex `json:"vertices,omitempty"` 1605 1606 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 1607 // to unconditionally include in API requests. By default, fields with 1608 // empty or default values are omitted from API requests. However, any 1609 // non-pointer, non-interface field appearing in ForceSendFields will be 1610 // sent to the server regardless of whether the field is empty or not. 1611 // This may be used to include empty fields in Patch requests. 1612 ForceSendFields []string `json:"-"` 1613 1614 // NullFields is a list of field names (e.g. "NormalizedVertices") to 1615 // include in API requests with the JSON null value. By default, fields 1616 // with empty values are omitted from API requests. However, any field 1617 // with an empty value appearing in NullFields will be sent to the 1618 // server as null. It is an error if a field in this list has a 1619 // non-empty value. This may be used to include null fields in Patch 1620 // requests. 1621 NullFields []string `json:"-"` 1622} 1623 1624func (s *GoogleCloudVisionV1p1beta1BoundingPoly) MarshalJSON() ([]byte, error) { 1625 type NoMethod GoogleCloudVisionV1p1beta1BoundingPoly 1626 raw := NoMethod(*s) 1627 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1628} 1629 1630// GoogleCloudVisionV1p1beta1ColorInfo: Color information consists of 1631// RGB channels, score, and the fraction of the image that the color 1632// occupies in the image. 1633type GoogleCloudVisionV1p1beta1ColorInfo struct { 1634 // Color: RGB components of the color. 1635 Color *Color `json:"color,omitempty"` 1636 1637 // PixelFraction: The fraction of pixels the color occupies in the 1638 // image. Value in range [0, 1]. 1639 PixelFraction float64 `json:"pixelFraction,omitempty"` 1640 1641 // Score: Image-specific score for this color. Value in range [0, 1]. 1642 Score float64 `json:"score,omitempty"` 1643 1644 // ForceSendFields is a list of field names (e.g. "Color") to 1645 // unconditionally include in API requests. By default, fields with 1646 // empty or default values are omitted from API requests. However, any 1647 // non-pointer, non-interface field appearing in ForceSendFields will be 1648 // sent to the server regardless of whether the field is empty or not. 1649 // This may be used to include empty fields in Patch requests. 1650 ForceSendFields []string `json:"-"` 1651 1652 // NullFields is a list of field names (e.g. "Color") to include in API 1653 // requests with the JSON null value. By default, fields with empty 1654 // values are omitted from API requests. However, any field with an 1655 // empty value appearing in NullFields will be sent to the server as 1656 // null. It is an error if a field in this list has a non-empty value. 1657 // This may be used to include null fields in Patch requests. 1658 NullFields []string `json:"-"` 1659} 1660 1661func (s *GoogleCloudVisionV1p1beta1ColorInfo) MarshalJSON() ([]byte, error) { 1662 type NoMethod GoogleCloudVisionV1p1beta1ColorInfo 1663 raw := NoMethod(*s) 1664 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1665} 1666 1667func (s *GoogleCloudVisionV1p1beta1ColorInfo) UnmarshalJSON(data []byte) error { 1668 type NoMethod GoogleCloudVisionV1p1beta1ColorInfo 1669 var s1 struct { 1670 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 1671 Score gensupport.JSONFloat64 `json:"score"` 1672 *NoMethod 1673 } 1674 s1.NoMethod = (*NoMethod)(s) 1675 if err := json.Unmarshal(data, &s1); err != nil { 1676 return err 1677 } 1678 s.PixelFraction = float64(s1.PixelFraction) 1679 s.Score = float64(s1.Score) 1680 return nil 1681} 1682 1683// GoogleCloudVisionV1p1beta1CropHint: Single crop hint that is used to 1684// generate a new crop when serving an image. 1685type GoogleCloudVisionV1p1beta1CropHint struct { 1686 // BoundingPoly: The bounding polygon for the crop region. The 1687 // coordinates of the bounding box are in the original image's scale. 1688 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 1689 1690 // Confidence: Confidence of this being a salient region. Range [0, 1]. 1691 Confidence float64 `json:"confidence,omitempty"` 1692 1693 // ImportanceFraction: Fraction of importance of this salient region 1694 // with respect to the original image. 1695 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 1696 1697 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 1698 // unconditionally include in API requests. By default, fields with 1699 // empty or default values are omitted from API requests. However, any 1700 // non-pointer, non-interface field appearing in ForceSendFields will be 1701 // sent to the server regardless of whether the field is empty or not. 1702 // This may be used to include empty fields in Patch requests. 1703 ForceSendFields []string `json:"-"` 1704 1705 // NullFields is a list of field names (e.g. "BoundingPoly") to include 1706 // in API requests with the JSON null value. By default, fields with 1707 // empty values are omitted from API requests. However, any field with 1708 // an empty value appearing in NullFields will be sent to the server as 1709 // null. It is an error if a field in this list has a non-empty value. 1710 // This may be used to include null fields in Patch requests. 1711 NullFields []string `json:"-"` 1712} 1713 1714func (s *GoogleCloudVisionV1p1beta1CropHint) MarshalJSON() ([]byte, error) { 1715 type NoMethod GoogleCloudVisionV1p1beta1CropHint 1716 raw := NoMethod(*s) 1717 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1718} 1719 1720func (s *GoogleCloudVisionV1p1beta1CropHint) UnmarshalJSON(data []byte) error { 1721 type NoMethod GoogleCloudVisionV1p1beta1CropHint 1722 var s1 struct { 1723 Confidence gensupport.JSONFloat64 `json:"confidence"` 1724 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 1725 *NoMethod 1726 } 1727 s1.NoMethod = (*NoMethod)(s) 1728 if err := json.Unmarshal(data, &s1); err != nil { 1729 return err 1730 } 1731 s.Confidence = float64(s1.Confidence) 1732 s.ImportanceFraction = float64(s1.ImportanceFraction) 1733 return nil 1734} 1735 1736// GoogleCloudVisionV1p1beta1CropHintsAnnotation: Set of crop hints that 1737// are used to generate new crops when serving images. 1738type GoogleCloudVisionV1p1beta1CropHintsAnnotation struct { 1739 // CropHints: Crop hint results. 1740 CropHints []*GoogleCloudVisionV1p1beta1CropHint `json:"cropHints,omitempty"` 1741 1742 // ForceSendFields is a list of field names (e.g. "CropHints") to 1743 // unconditionally include in API requests. By default, fields with 1744 // empty or default values are omitted from API requests. However, any 1745 // non-pointer, non-interface field appearing in ForceSendFields will be 1746 // sent to the server regardless of whether the field is empty or not. 1747 // This may be used to include empty fields in Patch requests. 1748 ForceSendFields []string `json:"-"` 1749 1750 // NullFields is a list of field names (e.g. "CropHints") to include in 1751 // API requests with the JSON null value. By default, fields with empty 1752 // values are omitted from API requests. However, any field with an 1753 // empty value appearing in NullFields will be sent to the server as 1754 // null. It is an error if a field in this list has a non-empty value. 1755 // This may be used to include null fields in Patch requests. 1756 NullFields []string `json:"-"` 1757} 1758 1759func (s *GoogleCloudVisionV1p1beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 1760 type NoMethod GoogleCloudVisionV1p1beta1CropHintsAnnotation 1761 raw := NoMethod(*s) 1762 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1763} 1764 1765// GoogleCloudVisionV1p1beta1DominantColorsAnnotation: Set of dominant 1766// colors and their corresponding scores. 1767type GoogleCloudVisionV1p1beta1DominantColorsAnnotation struct { 1768 // Colors: RGB color values with their score and pixel fraction. 1769 Colors []*GoogleCloudVisionV1p1beta1ColorInfo `json:"colors,omitempty"` 1770 1771 // ForceSendFields is a list of field names (e.g. "Colors") to 1772 // unconditionally include in API requests. By default, fields with 1773 // empty or default values are omitted from API requests. However, any 1774 // non-pointer, non-interface field appearing in ForceSendFields will be 1775 // sent to the server regardless of whether the field is empty or not. 1776 // This may be used to include empty fields in Patch requests. 1777 ForceSendFields []string `json:"-"` 1778 1779 // NullFields is a list of field names (e.g. "Colors") to include in API 1780 // requests with the JSON null value. By default, fields with empty 1781 // values are omitted from API requests. However, any field with an 1782 // empty value appearing in NullFields will be sent to the server as 1783 // null. It is an error if a field in this list has a non-empty value. 1784 // This may be used to include null fields in Patch requests. 1785 NullFields []string `json:"-"` 1786} 1787 1788func (s *GoogleCloudVisionV1p1beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 1789 type NoMethod GoogleCloudVisionV1p1beta1DominantColorsAnnotation 1790 raw := NoMethod(*s) 1791 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1792} 1793 1794// GoogleCloudVisionV1p1beta1EntityAnnotation: Set of detected entity 1795// features. 1796type GoogleCloudVisionV1p1beta1EntityAnnotation struct { 1797 // BoundingPoly: Image region to which this entity belongs. Not produced 1798 // for `LABEL_DETECTION` features. 1799 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 1800 1801 // Confidence: **Deprecated. Use `score` instead.** The accuracy of the 1802 // entity detection in an image. For example, for an image in which the 1803 // "Eiffel Tower" entity is detected, this field represents the 1804 // confidence that there is a tower in the query image. Range [0, 1]. 1805 Confidence float64 `json:"confidence,omitempty"` 1806 1807 // Description: Entity textual description, expressed in its `locale` 1808 // language. 1809 Description string `json:"description,omitempty"` 1810 1811 // Locale: The language code for the locale in which the entity textual 1812 // `description` is expressed. 1813 Locale string `json:"locale,omitempty"` 1814 1815 // Locations: The location information for the detected entity. Multiple 1816 // `LocationInfo` elements can be present because one location may 1817 // indicate the location of the scene in the image, and another location 1818 // may indicate the location of the place where the image was taken. 1819 // Location information is usually present for landmarks. 1820 Locations []*GoogleCloudVisionV1p1beta1LocationInfo `json:"locations,omitempty"` 1821 1822 // Mid: Opaque entity ID. Some IDs may be available in Google Knowledge 1823 // Graph Search API (https://developers.google.com/knowledge-graph/). 1824 Mid string `json:"mid,omitempty"` 1825 1826 // Properties: Some entities may have optional user-supplied `Property` 1827 // (name/value) fields, such a score or string that qualifies the 1828 // entity. 1829 Properties []*GoogleCloudVisionV1p1beta1Property `json:"properties,omitempty"` 1830 1831 // Score: Overall score of the result. Range [0, 1]. 1832 Score float64 `json:"score,omitempty"` 1833 1834 // Topicality: The relevancy of the ICA (Image Content Annotation) label 1835 // to the image. For example, the relevancy of "tower" is likely higher 1836 // to an image containing the detected "Eiffel Tower" than to an image 1837 // containing a detected distant towering building, even though the 1838 // confidence that there is a tower in each image may be the same. Range 1839 // [0, 1]. 1840 Topicality float64 `json:"topicality,omitempty"` 1841 1842 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 1843 // unconditionally include in API requests. By default, fields with 1844 // empty or default values are omitted from API requests. However, any 1845 // non-pointer, non-interface field appearing in ForceSendFields will be 1846 // sent to the server regardless of whether the field is empty or not. 1847 // This may be used to include empty fields in Patch requests. 1848 ForceSendFields []string `json:"-"` 1849 1850 // NullFields is a list of field names (e.g. "BoundingPoly") to include 1851 // in API requests with the JSON null value. By default, fields with 1852 // empty values are omitted from API requests. However, any field with 1853 // an empty value appearing in NullFields will be sent to the server as 1854 // null. It is an error if a field in this list has a non-empty value. 1855 // This may be used to include null fields in Patch requests. 1856 NullFields []string `json:"-"` 1857} 1858 1859func (s *GoogleCloudVisionV1p1beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 1860 type NoMethod GoogleCloudVisionV1p1beta1EntityAnnotation 1861 raw := NoMethod(*s) 1862 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1863} 1864 1865func (s *GoogleCloudVisionV1p1beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 1866 type NoMethod GoogleCloudVisionV1p1beta1EntityAnnotation 1867 var s1 struct { 1868 Confidence gensupport.JSONFloat64 `json:"confidence"` 1869 Score gensupport.JSONFloat64 `json:"score"` 1870 Topicality gensupport.JSONFloat64 `json:"topicality"` 1871 *NoMethod 1872 } 1873 s1.NoMethod = (*NoMethod)(s) 1874 if err := json.Unmarshal(data, &s1); err != nil { 1875 return err 1876 } 1877 s.Confidence = float64(s1.Confidence) 1878 s.Score = float64(s1.Score) 1879 s.Topicality = float64(s1.Topicality) 1880 return nil 1881} 1882 1883// GoogleCloudVisionV1p1beta1FaceAnnotation: A face annotation object 1884// contains the results of face detection. 1885type GoogleCloudVisionV1p1beta1FaceAnnotation struct { 1886 // AngerLikelihood: Anger likelihood. 1887 // 1888 // Possible values: 1889 // "UNKNOWN" - Unknown likelihood. 1890 // "VERY_UNLIKELY" - It is very unlikely. 1891 // "UNLIKELY" - It is unlikely. 1892 // "POSSIBLE" - It is possible. 1893 // "LIKELY" - It is likely. 1894 // "VERY_LIKELY" - It is very likely. 1895 AngerLikelihood string `json:"angerLikelihood,omitempty"` 1896 1897 // BlurredLikelihood: Blurred likelihood. 1898 // 1899 // Possible values: 1900 // "UNKNOWN" - Unknown likelihood. 1901 // "VERY_UNLIKELY" - It is very unlikely. 1902 // "UNLIKELY" - It is unlikely. 1903 // "POSSIBLE" - It is possible. 1904 // "LIKELY" - It is likely. 1905 // "VERY_LIKELY" - It is very likely. 1906 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 1907 1908 // BoundingPoly: The bounding polygon around the face. The coordinates 1909 // of the bounding box are in the original image's scale. The bounding 1910 // box is computed to "frame" the face in accordance with human 1911 // expectations. It is based on the landmarker results. Note that one or 1912 // more x and/or y coordinates may not be generated in the 1913 // `BoundingPoly` (the polygon will be unbounded) if only a partial face 1914 // appears in the image to be annotated. 1915 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 1916 1917 // DetectionConfidence: Detection confidence. Range [0, 1]. 1918 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 1919 1920 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 1921 // than the `boundingPoly`, and encloses only the skin part of the face. 1922 // Typically, it is used to eliminate the face from any image analysis 1923 // that detects the "amount of skin" visible in an image. It is not 1924 // based on the landmarker results, only on the initial face detection, 1925 // hence the fd (face detection) prefix. 1926 FdBoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 1927 1928 // HeadwearLikelihood: Headwear likelihood. 1929 // 1930 // Possible values: 1931 // "UNKNOWN" - Unknown likelihood. 1932 // "VERY_UNLIKELY" - It is very unlikely. 1933 // "UNLIKELY" - It is unlikely. 1934 // "POSSIBLE" - It is possible. 1935 // "LIKELY" - It is likely. 1936 // "VERY_LIKELY" - It is very likely. 1937 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 1938 1939 // JoyLikelihood: Joy likelihood. 1940 // 1941 // Possible values: 1942 // "UNKNOWN" - Unknown likelihood. 1943 // "VERY_UNLIKELY" - It is very unlikely. 1944 // "UNLIKELY" - It is unlikely. 1945 // "POSSIBLE" - It is possible. 1946 // "LIKELY" - It is likely. 1947 // "VERY_LIKELY" - It is very likely. 1948 JoyLikelihood string `json:"joyLikelihood,omitempty"` 1949 1950 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 1951 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 1952 1953 // Landmarks: Detected face landmarks. 1954 Landmarks []*GoogleCloudVisionV1p1beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 1955 1956 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 1957 // that the face is pointing relative to the vertical plane 1958 // perpendicular to the image. Range [-180,180]. 1959 PanAngle float64 `json:"panAngle,omitempty"` 1960 1961 // RollAngle: Roll angle, which indicates the amount of 1962 // clockwise/anti-clockwise rotation of the face relative to the image 1963 // vertical about the axis perpendicular to the face. Range [-180,180]. 1964 RollAngle float64 `json:"rollAngle,omitempty"` 1965 1966 // SorrowLikelihood: Sorrow 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 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 1976 1977 // SurpriseLikelihood: Surprise likelihood. 1978 // 1979 // Possible values: 1980 // "UNKNOWN" - Unknown likelihood. 1981 // "VERY_UNLIKELY" - It is very unlikely. 1982 // "UNLIKELY" - It is unlikely. 1983 // "POSSIBLE" - It is possible. 1984 // "LIKELY" - It is likely. 1985 // "VERY_LIKELY" - It is very likely. 1986 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 1987 1988 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 1989 // that the face is pointing relative to the image's horizontal plane. 1990 // Range [-180,180]. 1991 TiltAngle float64 `json:"tiltAngle,omitempty"` 1992 1993 // UnderExposedLikelihood: Under-exposed likelihood. 1994 // 1995 // Possible values: 1996 // "UNKNOWN" - Unknown likelihood. 1997 // "VERY_UNLIKELY" - It is very unlikely. 1998 // "UNLIKELY" - It is unlikely. 1999 // "POSSIBLE" - It is possible. 2000 // "LIKELY" - It is likely. 2001 // "VERY_LIKELY" - It is very likely. 2002 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 2003 2004 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 2005 // unconditionally include in API requests. By default, fields with 2006 // empty or default values are omitted from API requests. However, any 2007 // non-pointer, non-interface field appearing in ForceSendFields will be 2008 // sent to the server regardless of whether the field is empty or not. 2009 // This may be used to include empty fields in Patch requests. 2010 ForceSendFields []string `json:"-"` 2011 2012 // NullFields is a list of field names (e.g. "AngerLikelihood") to 2013 // include in API requests with the JSON null value. By default, fields 2014 // with empty values are omitted from API requests. However, any field 2015 // with an empty value appearing in NullFields will be sent to the 2016 // server as null. It is an error if a field in this list has a 2017 // non-empty value. This may be used to include null fields in Patch 2018 // requests. 2019 NullFields []string `json:"-"` 2020} 2021 2022func (s *GoogleCloudVisionV1p1beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 2023 type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotation 2024 raw := NoMethod(*s) 2025 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2026} 2027 2028func (s *GoogleCloudVisionV1p1beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 2029 type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotation 2030 var s1 struct { 2031 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 2032 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 2033 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 2034 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 2035 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 2036 *NoMethod 2037 } 2038 s1.NoMethod = (*NoMethod)(s) 2039 if err := json.Unmarshal(data, &s1); err != nil { 2040 return err 2041 } 2042 s.DetectionConfidence = float64(s1.DetectionConfidence) 2043 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 2044 s.PanAngle = float64(s1.PanAngle) 2045 s.RollAngle = float64(s1.RollAngle) 2046 s.TiltAngle = float64(s1.TiltAngle) 2047 return nil 2048} 2049 2050// GoogleCloudVisionV1p1beta1FaceAnnotationLandmark: A face-specific 2051// landmark (for example, a face feature). 2052type GoogleCloudVisionV1p1beta1FaceAnnotationLandmark struct { 2053 // Position: Face landmark position. 2054 Position *GoogleCloudVisionV1p1beta1Position `json:"position,omitempty"` 2055 2056 // Type: Face landmark type. 2057 // 2058 // Possible values: 2059 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 2060 // filled. 2061 // "LEFT_EYE" - Left eye. 2062 // "RIGHT_EYE" - Right eye. 2063 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 2064 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 2065 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 2066 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 2067 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 2068 // "NOSE_TIP" - Nose tip. 2069 // "UPPER_LIP" - Upper lip. 2070 // "LOWER_LIP" - Lower lip. 2071 // "MOUTH_LEFT" - Mouth left. 2072 // "MOUTH_RIGHT" - Mouth right. 2073 // "MOUTH_CENTER" - Mouth center. 2074 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 2075 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 2076 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 2077 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 2078 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 2079 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 2080 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 2081 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 2082 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 2083 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 2084 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 2085 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 2086 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 2087 // "LEFT_EAR_TRAGION" - Left ear tragion. 2088 // "RIGHT_EAR_TRAGION" - Right ear tragion. 2089 // "LEFT_EYE_PUPIL" - Left eye pupil. 2090 // "RIGHT_EYE_PUPIL" - Right eye pupil. 2091 // "FOREHEAD_GLABELLA" - Forehead glabella. 2092 // "CHIN_GNATHION" - Chin gnathion. 2093 // "CHIN_LEFT_GONION" - Chin left gonion. 2094 // "CHIN_RIGHT_GONION" - Chin right gonion. 2095 // "LEFT_CHEEK_CENTER" - Left cheek center. 2096 // "RIGHT_CHEEK_CENTER" - Right cheek center. 2097 Type string `json:"type,omitempty"` 2098 2099 // ForceSendFields is a list of field names (e.g. "Position") to 2100 // unconditionally include in API requests. By default, fields with 2101 // empty or default values are omitted from API requests. However, any 2102 // non-pointer, non-interface field appearing in ForceSendFields will be 2103 // sent to the server regardless of whether the field is empty or not. 2104 // This may be used to include empty fields in Patch requests. 2105 ForceSendFields []string `json:"-"` 2106 2107 // NullFields is a list of field names (e.g. "Position") to include in 2108 // API requests with the JSON null value. By default, fields with empty 2109 // values are omitted from API requests. However, any field with an 2110 // empty value appearing in NullFields will be sent to the server as 2111 // null. It is an error if a field in this list has a non-empty value. 2112 // This may be used to include null fields in Patch requests. 2113 NullFields []string `json:"-"` 2114} 2115 2116func (s *GoogleCloudVisionV1p1beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 2117 type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotationLandmark 2118 raw := NoMethod(*s) 2119 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2120} 2121 2122// GoogleCloudVisionV1p1beta1GcsDestination: The Google Cloud Storage 2123// location where the output will be written to. 2124type GoogleCloudVisionV1p1beta1GcsDestination struct { 2125 // Uri: Google Cloud Storage URI prefix where the results will be 2126 // stored. Results will be in JSON format and preceded by its 2127 // corresponding input URI prefix. This field can either represent a gcs 2128 // file prefix or gcs directory. In either case, the uri should be 2129 // unique because in order to get all of the output files, you will need 2130 // to do a wildcard gcs search on the uri prefix you provide. Examples: 2131 // * File Prefix: gs://bucket-name/here/filenameprefix The output files 2132 // will be created in gs://bucket-name/here/ and the names of the output 2133 // files will begin with "filenameprefix". * Directory Prefix: 2134 // gs://bucket-name/some/location/ The output files will be created in 2135 // gs://bucket-name/some/location/ and the names of the output files 2136 // could be anything because there was no filename prefix specified. If 2137 // multiple outputs, each response is still AnnotateFileResponse, each 2138 // of which contains some subset of the full list of 2139 // AnnotateImageResponse. Multiple outputs can happen if, for example, 2140 // the output JSON is too large and overflows into multiple sharded 2141 // files. 2142 Uri string `json:"uri,omitempty"` 2143 2144 // ForceSendFields is a list of field names (e.g. "Uri") to 2145 // unconditionally include in API requests. By default, fields with 2146 // empty or default values are omitted from API requests. However, any 2147 // non-pointer, non-interface field appearing in ForceSendFields will be 2148 // sent to the server regardless of whether the field is empty or not. 2149 // This may be used to include empty fields in Patch requests. 2150 ForceSendFields []string `json:"-"` 2151 2152 // NullFields is a list of field names (e.g. "Uri") to include in API 2153 // requests with the JSON null value. By default, fields with empty 2154 // values are omitted from API requests. However, any field with an 2155 // empty value appearing in NullFields will be sent to the server as 2156 // null. It is an error if a field in this list has a non-empty value. 2157 // This may be used to include null fields in Patch requests. 2158 NullFields []string `json:"-"` 2159} 2160 2161func (s *GoogleCloudVisionV1p1beta1GcsDestination) MarshalJSON() ([]byte, error) { 2162 type NoMethod GoogleCloudVisionV1p1beta1GcsDestination 2163 raw := NoMethod(*s) 2164 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2165} 2166 2167// GoogleCloudVisionV1p1beta1GcsSource: The Google Cloud Storage 2168// location where the input will be read from. 2169type GoogleCloudVisionV1p1beta1GcsSource struct { 2170 // Uri: Google Cloud Storage URI for the input file. This must only be a 2171 // Google Cloud Storage object. Wildcards are not currently supported. 2172 Uri string `json:"uri,omitempty"` 2173 2174 // ForceSendFields is a list of field names (e.g. "Uri") to 2175 // unconditionally include in API requests. By default, fields with 2176 // empty or default values are omitted from API requests. However, any 2177 // non-pointer, non-interface field appearing in ForceSendFields will be 2178 // sent to the server regardless of whether the field is empty or not. 2179 // This may be used to include empty fields in Patch requests. 2180 ForceSendFields []string `json:"-"` 2181 2182 // NullFields is a list of field names (e.g. "Uri") to include in API 2183 // requests with the JSON null value. By default, fields with empty 2184 // values are omitted from API requests. However, any field with an 2185 // empty value appearing in NullFields will be sent to the server as 2186 // null. It is an error if a field in this list has a non-empty value. 2187 // This may be used to include null fields in Patch requests. 2188 NullFields []string `json:"-"` 2189} 2190 2191func (s *GoogleCloudVisionV1p1beta1GcsSource) MarshalJSON() ([]byte, error) { 2192 type NoMethod GoogleCloudVisionV1p1beta1GcsSource 2193 raw := NoMethod(*s) 2194 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2195} 2196 2197// GoogleCloudVisionV1p1beta1ImageAnnotationContext: If an image was 2198// produced from a file (e.g. a PDF), this message gives information 2199// about the source of that image. 2200type GoogleCloudVisionV1p1beta1ImageAnnotationContext struct { 2201 // PageNumber: If the file was a PDF or TIFF, this field gives the page 2202 // number within the file used to produce the image. 2203 PageNumber int64 `json:"pageNumber,omitempty"` 2204 2205 // Uri: The URI of the file used to produce the image. 2206 Uri string `json:"uri,omitempty"` 2207 2208 // ForceSendFields is a list of field names (e.g. "PageNumber") to 2209 // unconditionally include in API requests. By default, fields with 2210 // empty or default values are omitted from API requests. However, any 2211 // non-pointer, non-interface field appearing in ForceSendFields will be 2212 // sent to the server regardless of whether the field is empty or not. 2213 // This may be used to include empty fields in Patch requests. 2214 ForceSendFields []string `json:"-"` 2215 2216 // NullFields is a list of field names (e.g. "PageNumber") to include in 2217 // API requests with the JSON null value. By default, fields with empty 2218 // values are omitted from API requests. However, any field with an 2219 // empty value appearing in NullFields will be sent to the server as 2220 // null. It is an error if a field in this list has a non-empty value. 2221 // This may be used to include null fields in Patch requests. 2222 NullFields []string `json:"-"` 2223} 2224 2225func (s *GoogleCloudVisionV1p1beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 2226 type NoMethod GoogleCloudVisionV1p1beta1ImageAnnotationContext 2227 raw := NoMethod(*s) 2228 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2229} 2230 2231// GoogleCloudVisionV1p1beta1ImageProperties: Stores image properties, 2232// such as dominant colors. 2233type GoogleCloudVisionV1p1beta1ImageProperties struct { 2234 // DominantColors: If present, dominant colors completed successfully. 2235 DominantColors *GoogleCloudVisionV1p1beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 2236 2237 // ForceSendFields is a list of field names (e.g. "DominantColors") to 2238 // unconditionally include in API requests. By default, fields with 2239 // empty or default values are omitted from API requests. However, any 2240 // non-pointer, non-interface field appearing in ForceSendFields will be 2241 // sent to the server regardless of whether the field is empty or not. 2242 // This may be used to include empty fields in Patch requests. 2243 ForceSendFields []string `json:"-"` 2244 2245 // NullFields is a list of field names (e.g. "DominantColors") to 2246 // include in API requests with the JSON null value. By default, fields 2247 // with empty values are omitted from API requests. However, any field 2248 // with an empty value appearing in NullFields will be sent to the 2249 // server as null. It is an error if a field in this list has a 2250 // non-empty value. This may be used to include null fields in Patch 2251 // requests. 2252 NullFields []string `json:"-"` 2253} 2254 2255func (s *GoogleCloudVisionV1p1beta1ImageProperties) MarshalJSON() ([]byte, error) { 2256 type NoMethod GoogleCloudVisionV1p1beta1ImageProperties 2257 raw := NoMethod(*s) 2258 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2259} 2260 2261// GoogleCloudVisionV1p1beta1InputConfig: The desired input location and 2262// metadata. 2263type GoogleCloudVisionV1p1beta1InputConfig struct { 2264 // Content: File content, represented as a stream of bytes. Note: As 2265 // with all `bytes` fields, protobuffers use a pure binary 2266 // representation, whereas JSON representations use base64. Currently, 2267 // this field only works for BatchAnnotateFiles requests. It does not 2268 // work for AsyncBatchAnnotateFiles requests. 2269 Content string `json:"content,omitempty"` 2270 2271 // GcsSource: The Google Cloud Storage location to read the input from. 2272 GcsSource *GoogleCloudVisionV1p1beta1GcsSource `json:"gcsSource,omitempty"` 2273 2274 // MimeType: The type of the file. Currently only "application/pdf", 2275 // "image/tiff" and "image/gif" are supported. Wildcards are not 2276 // supported. 2277 MimeType string `json:"mimeType,omitempty"` 2278 2279 // ForceSendFields is a list of field names (e.g. "Content") to 2280 // unconditionally include in API requests. By default, fields with 2281 // empty or default values are omitted from API requests. However, any 2282 // non-pointer, non-interface field appearing in ForceSendFields will be 2283 // sent to the server regardless of whether the field is empty or not. 2284 // This may be used to include empty fields in Patch requests. 2285 ForceSendFields []string `json:"-"` 2286 2287 // NullFields is a list of field names (e.g. "Content") to include in 2288 // API requests with the JSON null value. By default, fields with empty 2289 // values are omitted from API requests. However, any field with an 2290 // empty value appearing in NullFields will be sent to the server as 2291 // null. It is an error if a field in this list has a non-empty value. 2292 // This may be used to include null fields in Patch requests. 2293 NullFields []string `json:"-"` 2294} 2295 2296func (s *GoogleCloudVisionV1p1beta1InputConfig) MarshalJSON() ([]byte, error) { 2297 type NoMethod GoogleCloudVisionV1p1beta1InputConfig 2298 raw := NoMethod(*s) 2299 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2300} 2301 2302// GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation: Set of detected 2303// objects with bounding boxes. 2304type GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation struct { 2305 // BoundingPoly: Image region to which this object belongs. This must be 2306 // populated. 2307 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 2308 2309 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 2310 // For more information, see 2311 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 2312 LanguageCode string `json:"languageCode,omitempty"` 2313 2314 // Mid: Object ID that should align with EntityAnnotation mid. 2315 Mid string `json:"mid,omitempty"` 2316 2317 // Name: Object name, expressed in its `language_code` language. 2318 Name string `json:"name,omitempty"` 2319 2320 // Score: Score of the result. Range [0, 1]. 2321 Score float64 `json:"score,omitempty"` 2322 2323 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 2324 // unconditionally include in API requests. By default, fields with 2325 // empty or default values are omitted from API requests. However, any 2326 // non-pointer, non-interface field appearing in ForceSendFields will be 2327 // sent to the server regardless of whether the field is empty or not. 2328 // This may be used to include empty fields in Patch requests. 2329 ForceSendFields []string `json:"-"` 2330 2331 // NullFields is a list of field names (e.g. "BoundingPoly") to include 2332 // in API requests with the JSON null value. By default, fields with 2333 // empty values are omitted from API requests. However, any field with 2334 // an empty value appearing in NullFields will be sent to the server as 2335 // null. It is an error if a field in this list has a non-empty value. 2336 // This may be used to include null fields in Patch requests. 2337 NullFields []string `json:"-"` 2338} 2339 2340func (s *GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 2341 type NoMethod GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation 2342 raw := NoMethod(*s) 2343 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2344} 2345 2346func (s *GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 2347 type NoMethod GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation 2348 var s1 struct { 2349 Score gensupport.JSONFloat64 `json:"score"` 2350 *NoMethod 2351 } 2352 s1.NoMethod = (*NoMethod)(s) 2353 if err := json.Unmarshal(data, &s1); err != nil { 2354 return err 2355 } 2356 s.Score = float64(s1.Score) 2357 return nil 2358} 2359 2360// GoogleCloudVisionV1p1beta1LocationInfo: Detected entity location 2361// information. 2362type GoogleCloudVisionV1p1beta1LocationInfo struct { 2363 // LatLng: lat/long location coordinates. 2364 LatLng *LatLng `json:"latLng,omitempty"` 2365 2366 // ForceSendFields is a list of field names (e.g. "LatLng") to 2367 // unconditionally include in API requests. By default, fields with 2368 // empty or default values are omitted from API requests. However, any 2369 // non-pointer, non-interface field appearing in ForceSendFields will be 2370 // sent to the server regardless of whether the field is empty or not. 2371 // This may be used to include empty fields in Patch requests. 2372 ForceSendFields []string `json:"-"` 2373 2374 // NullFields is a list of field names (e.g. "LatLng") to include in API 2375 // requests with the JSON null value. By default, fields with empty 2376 // values are omitted from API requests. However, any field with an 2377 // empty value appearing in NullFields will be sent to the server as 2378 // null. It is an error if a field in this list has a non-empty value. 2379 // This may be used to include null fields in Patch requests. 2380 NullFields []string `json:"-"` 2381} 2382 2383func (s *GoogleCloudVisionV1p1beta1LocationInfo) MarshalJSON() ([]byte, error) { 2384 type NoMethod GoogleCloudVisionV1p1beta1LocationInfo 2385 raw := NoMethod(*s) 2386 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2387} 2388 2389// GoogleCloudVisionV1p1beta1NormalizedVertex: A vertex represents a 2D 2390// point in the image. NOTE: the normalized vertex coordinates are 2391// relative to the original image and range from 0 to 1. 2392type GoogleCloudVisionV1p1beta1NormalizedVertex struct { 2393 // X: X coordinate. 2394 X float64 `json:"x,omitempty"` 2395 2396 // Y: Y coordinate. 2397 Y float64 `json:"y,omitempty"` 2398 2399 // ForceSendFields is a list of field names (e.g. "X") to 2400 // unconditionally include in API requests. By default, fields with 2401 // empty or default values are omitted from API requests. However, any 2402 // non-pointer, non-interface field appearing in ForceSendFields will be 2403 // sent to the server regardless of whether the field is empty or not. 2404 // This may be used to include empty fields in Patch requests. 2405 ForceSendFields []string `json:"-"` 2406 2407 // NullFields is a list of field names (e.g. "X") to include in API 2408 // requests with the JSON null value. By default, fields with empty 2409 // values are omitted from API requests. However, any field with an 2410 // empty value appearing in NullFields will be sent to the server as 2411 // null. It is an error if a field in this list has a non-empty value. 2412 // This may be used to include null fields in Patch requests. 2413 NullFields []string `json:"-"` 2414} 2415 2416func (s *GoogleCloudVisionV1p1beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 2417 type NoMethod GoogleCloudVisionV1p1beta1NormalizedVertex 2418 raw := NoMethod(*s) 2419 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2420} 2421 2422func (s *GoogleCloudVisionV1p1beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 2423 type NoMethod GoogleCloudVisionV1p1beta1NormalizedVertex 2424 var s1 struct { 2425 X gensupport.JSONFloat64 `json:"x"` 2426 Y gensupport.JSONFloat64 `json:"y"` 2427 *NoMethod 2428 } 2429 s1.NoMethod = (*NoMethod)(s) 2430 if err := json.Unmarshal(data, &s1); err != nil { 2431 return err 2432 } 2433 s.X = float64(s1.X) 2434 s.Y = float64(s1.Y) 2435 return nil 2436} 2437 2438// GoogleCloudVisionV1p1beta1OperationMetadata: Contains metadata for 2439// the BatchAnnotateImages operation. 2440type GoogleCloudVisionV1p1beta1OperationMetadata struct { 2441 // CreateTime: The time when the batch request was received. 2442 CreateTime string `json:"createTime,omitempty"` 2443 2444 // State: Current state of the batch operation. 2445 // 2446 // Possible values: 2447 // "STATE_UNSPECIFIED" - Invalid. 2448 // "CREATED" - Request is received. 2449 // "RUNNING" - Request is actively being processed. 2450 // "DONE" - The batch processing is done. 2451 // "CANCELLED" - The batch processing was cancelled. 2452 State string `json:"state,omitempty"` 2453 2454 // UpdateTime: The time when the operation result was last updated. 2455 UpdateTime string `json:"updateTime,omitempty"` 2456 2457 // ForceSendFields is a list of field names (e.g. "CreateTime") to 2458 // unconditionally include in API requests. By default, fields with 2459 // empty or default values are omitted from API requests. However, any 2460 // non-pointer, non-interface field appearing in ForceSendFields will be 2461 // sent to the server regardless of whether the field is empty or not. 2462 // This may be used to include empty fields in Patch requests. 2463 ForceSendFields []string `json:"-"` 2464 2465 // NullFields is a list of field names (e.g. "CreateTime") to include in 2466 // API requests with the JSON null value. By default, fields with empty 2467 // values are omitted from API requests. However, any field with an 2468 // empty value appearing in NullFields will be sent to the server as 2469 // null. It is an error if a field in this list has a non-empty value. 2470 // This may be used to include null fields in Patch requests. 2471 NullFields []string `json:"-"` 2472} 2473 2474func (s *GoogleCloudVisionV1p1beta1OperationMetadata) MarshalJSON() ([]byte, error) { 2475 type NoMethod GoogleCloudVisionV1p1beta1OperationMetadata 2476 raw := NoMethod(*s) 2477 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2478} 2479 2480// GoogleCloudVisionV1p1beta1OutputConfig: The desired output location 2481// and metadata. 2482type GoogleCloudVisionV1p1beta1OutputConfig struct { 2483 // BatchSize: The max number of response protos to put into each output 2484 // JSON file on Google Cloud Storage. The valid range is [1, 100]. If 2485 // not specified, the default value is 20. For example, for one pdf file 2486 // with 100 pages, 100 response protos will be generated. If 2487 // `batch_size` = 20, then 5 json files each containing 20 response 2488 // protos will be written under the prefix `gcs_destination`.`uri`. 2489 // Currently, batch_size only applies to GcsDestination, with potential 2490 // future support for other output configurations. 2491 BatchSize int64 `json:"batchSize,omitempty"` 2492 2493 // GcsDestination: The Google Cloud Storage location to write the 2494 // output(s) to. 2495 GcsDestination *GoogleCloudVisionV1p1beta1GcsDestination `json:"gcsDestination,omitempty"` 2496 2497 // ForceSendFields is a list of field names (e.g. "BatchSize") to 2498 // unconditionally include in API requests. By default, fields with 2499 // empty or default values are omitted from API requests. However, any 2500 // non-pointer, non-interface field appearing in ForceSendFields will be 2501 // sent to the server regardless of whether the field is empty or not. 2502 // This may be used to include empty fields in Patch requests. 2503 ForceSendFields []string `json:"-"` 2504 2505 // NullFields is a list of field names (e.g. "BatchSize") to include in 2506 // API requests with the JSON null value. By default, fields with empty 2507 // values are omitted from API requests. However, any field with an 2508 // empty value appearing in NullFields will be sent to the server as 2509 // null. It is an error if a field in this list has a non-empty value. 2510 // This may be used to include null fields in Patch requests. 2511 NullFields []string `json:"-"` 2512} 2513 2514func (s *GoogleCloudVisionV1p1beta1OutputConfig) MarshalJSON() ([]byte, error) { 2515 type NoMethod GoogleCloudVisionV1p1beta1OutputConfig 2516 raw := NoMethod(*s) 2517 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2518} 2519 2520// GoogleCloudVisionV1p1beta1Page: Detected page from OCR. 2521type GoogleCloudVisionV1p1beta1Page struct { 2522 // Blocks: List of blocks of text, images etc on this page. 2523 Blocks []*GoogleCloudVisionV1p1beta1Block `json:"blocks,omitempty"` 2524 2525 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 2526 Confidence float64 `json:"confidence,omitempty"` 2527 2528 // Height: Page height. For PDFs the unit is points. For images 2529 // (including TIFFs) the unit is pixels. 2530 Height int64 `json:"height,omitempty"` 2531 2532 // Property: Additional information detected on the page. 2533 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 2534 2535 // Width: Page width. For PDFs the unit is points. For images (including 2536 // TIFFs) the unit is pixels. 2537 Width int64 `json:"width,omitempty"` 2538 2539 // ForceSendFields is a list of field names (e.g. "Blocks") to 2540 // unconditionally include in API requests. By default, fields with 2541 // empty or default values are omitted from API requests. However, any 2542 // non-pointer, non-interface field appearing in ForceSendFields will be 2543 // sent to the server regardless of whether the field is empty or not. 2544 // This may be used to include empty fields in Patch requests. 2545 ForceSendFields []string `json:"-"` 2546 2547 // NullFields is a list of field names (e.g. "Blocks") to include in API 2548 // requests with the JSON null value. By default, fields with empty 2549 // values are omitted from API requests. However, any field with an 2550 // empty value appearing in NullFields will be sent to the server as 2551 // null. It is an error if a field in this list has a non-empty value. 2552 // This may be used to include null fields in Patch requests. 2553 NullFields []string `json:"-"` 2554} 2555 2556func (s *GoogleCloudVisionV1p1beta1Page) MarshalJSON() ([]byte, error) { 2557 type NoMethod GoogleCloudVisionV1p1beta1Page 2558 raw := NoMethod(*s) 2559 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2560} 2561 2562func (s *GoogleCloudVisionV1p1beta1Page) UnmarshalJSON(data []byte) error { 2563 type NoMethod GoogleCloudVisionV1p1beta1Page 2564 var s1 struct { 2565 Confidence gensupport.JSONFloat64 `json:"confidence"` 2566 *NoMethod 2567 } 2568 s1.NoMethod = (*NoMethod)(s) 2569 if err := json.Unmarshal(data, &s1); err != nil { 2570 return err 2571 } 2572 s.Confidence = float64(s1.Confidence) 2573 return nil 2574} 2575 2576// GoogleCloudVisionV1p1beta1Paragraph: Structural unit of text 2577// representing a number of words in certain order. 2578type GoogleCloudVisionV1p1beta1Paragraph struct { 2579 // BoundingBox: The bounding box for the paragraph. The vertices are in 2580 // the order of top-left, top-right, bottom-right, bottom-left. When a 2581 // rotation of the bounding box is detected the rotation is represented 2582 // as around the top-left corner as defined when the text is read in the 2583 // 'natural' orientation. For example: * when the text is horizontal it 2584 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 2585 // around the top-left corner it becomes: 2----3 | | 1----0 and the 2586 // vertex order will still be (0, 1, 2, 3). 2587 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 2588 2589 // Confidence: Confidence of the OCR results for the paragraph. Range 2590 // [0, 1]. 2591 Confidence float64 `json:"confidence,omitempty"` 2592 2593 // Property: Additional information detected for the paragraph. 2594 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 2595 2596 // Words: List of all words in this paragraph. 2597 Words []*GoogleCloudVisionV1p1beta1Word `json:"words,omitempty"` 2598 2599 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 2600 // unconditionally include in API requests. By default, fields with 2601 // empty or default values are omitted from API requests. However, any 2602 // non-pointer, non-interface field appearing in ForceSendFields will be 2603 // sent to the server regardless of whether the field is empty or not. 2604 // This may be used to include empty fields in Patch requests. 2605 ForceSendFields []string `json:"-"` 2606 2607 // NullFields is a list of field names (e.g. "BoundingBox") to include 2608 // in API requests with the JSON null value. By default, fields with 2609 // empty values are omitted from API requests. However, any field with 2610 // an empty value appearing in NullFields will be sent to the server as 2611 // null. It is an error if a field in this list has a non-empty value. 2612 // This may be used to include null fields in Patch requests. 2613 NullFields []string `json:"-"` 2614} 2615 2616func (s *GoogleCloudVisionV1p1beta1Paragraph) MarshalJSON() ([]byte, error) { 2617 type NoMethod GoogleCloudVisionV1p1beta1Paragraph 2618 raw := NoMethod(*s) 2619 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2620} 2621 2622func (s *GoogleCloudVisionV1p1beta1Paragraph) UnmarshalJSON(data []byte) error { 2623 type NoMethod GoogleCloudVisionV1p1beta1Paragraph 2624 var s1 struct { 2625 Confidence gensupport.JSONFloat64 `json:"confidence"` 2626 *NoMethod 2627 } 2628 s1.NoMethod = (*NoMethod)(s) 2629 if err := json.Unmarshal(data, &s1); err != nil { 2630 return err 2631 } 2632 s.Confidence = float64(s1.Confidence) 2633 return nil 2634} 2635 2636// GoogleCloudVisionV1p1beta1Position: A 3D position in the image, used 2637// primarily for Face detection landmarks. A valid Position must have 2638// both x and y coordinates. The position coordinates are in the same 2639// scale as the original image. 2640type GoogleCloudVisionV1p1beta1Position struct { 2641 // X: X coordinate. 2642 X float64 `json:"x,omitempty"` 2643 2644 // Y: Y coordinate. 2645 Y float64 `json:"y,omitempty"` 2646 2647 // Z: Z coordinate (or depth). 2648 Z float64 `json:"z,omitempty"` 2649 2650 // ForceSendFields is a list of field names (e.g. "X") to 2651 // unconditionally include in API requests. By default, fields with 2652 // empty or default values are omitted from API requests. However, any 2653 // non-pointer, non-interface field appearing in ForceSendFields will be 2654 // sent to the server regardless of whether the field is empty or not. 2655 // This may be used to include empty fields in Patch requests. 2656 ForceSendFields []string `json:"-"` 2657 2658 // NullFields is a list of field names (e.g. "X") to include in API 2659 // requests with the JSON null value. By default, fields with empty 2660 // values are omitted from API requests. However, any field with an 2661 // empty value appearing in NullFields will be sent to the server as 2662 // null. It is an error if a field in this list has a non-empty value. 2663 // This may be used to include null fields in Patch requests. 2664 NullFields []string `json:"-"` 2665} 2666 2667func (s *GoogleCloudVisionV1p1beta1Position) MarshalJSON() ([]byte, error) { 2668 type NoMethod GoogleCloudVisionV1p1beta1Position 2669 raw := NoMethod(*s) 2670 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2671} 2672 2673func (s *GoogleCloudVisionV1p1beta1Position) UnmarshalJSON(data []byte) error { 2674 type NoMethod GoogleCloudVisionV1p1beta1Position 2675 var s1 struct { 2676 X gensupport.JSONFloat64 `json:"x"` 2677 Y gensupport.JSONFloat64 `json:"y"` 2678 Z gensupport.JSONFloat64 `json:"z"` 2679 *NoMethod 2680 } 2681 s1.NoMethod = (*NoMethod)(s) 2682 if err := json.Unmarshal(data, &s1); err != nil { 2683 return err 2684 } 2685 s.X = float64(s1.X) 2686 s.Y = float64(s1.Y) 2687 s.Z = float64(s1.Z) 2688 return nil 2689} 2690 2691// GoogleCloudVisionV1p1beta1Product: A Product contains 2692// ReferenceImages. 2693type GoogleCloudVisionV1p1beta1Product struct { 2694 // Description: User-provided metadata to be stored with this product. 2695 // Must be at most 4096 characters long. 2696 Description string `json:"description,omitempty"` 2697 2698 // DisplayName: The user-provided name for this Product. Must not be 2699 // empty. Must be at most 4096 characters long. 2700 DisplayName string `json:"displayName,omitempty"` 2701 2702 // Name: The resource name of the product. Format is: 2703 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This 2704 // field is ignored when creating a product. 2705 Name string `json:"name,omitempty"` 2706 2707 // ProductCategory: Immutable. The category for the product identified 2708 // by the reference image. This should be one of "homegoods-v2", 2709 // "apparel-v2", "toys-v2", "packagedgoods-v1" or "general-v1". The 2710 // legacy categories "homegoods", "apparel", and "toys" are still 2711 // supported, but these should not be used for new products. 2712 ProductCategory string `json:"productCategory,omitempty"` 2713 2714 // ProductLabels: Key-value pairs that can be attached to a product. At 2715 // query time, constraints can be specified based on the product_labels. 2716 // Note that integer values can be provided as strings, e.g. "1199". 2717 // Only strings with integer values can match a range-based restriction 2718 // which is to be supported soon. Multiple values can be assigned to the 2719 // same key. One product may have up to 500 product_labels. Notice that 2720 // the total number of distinct product_labels over all products in one 2721 // ProductSet cannot exceed 1M, otherwise the product search pipeline 2722 // will refuse to work for that ProductSet. 2723 ProductLabels []*GoogleCloudVisionV1p1beta1ProductKeyValue `json:"productLabels,omitempty"` 2724 2725 // ForceSendFields is a list of field names (e.g. "Description") to 2726 // unconditionally include in API requests. By default, fields with 2727 // empty or default values are omitted from API requests. However, any 2728 // non-pointer, non-interface field appearing in ForceSendFields will be 2729 // sent to the server regardless of whether the field is empty or not. 2730 // This may be used to include empty fields in Patch requests. 2731 ForceSendFields []string `json:"-"` 2732 2733 // NullFields is a list of field names (e.g. "Description") to include 2734 // in API requests with the JSON null value. By default, fields with 2735 // empty values are omitted from API requests. However, any field with 2736 // an empty value appearing in NullFields will be sent to the server as 2737 // null. It is an error if a field in this list has a non-empty value. 2738 // This may be used to include null fields in Patch requests. 2739 NullFields []string `json:"-"` 2740} 2741 2742func (s *GoogleCloudVisionV1p1beta1Product) MarshalJSON() ([]byte, error) { 2743 type NoMethod GoogleCloudVisionV1p1beta1Product 2744 raw := NoMethod(*s) 2745 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2746} 2747 2748// GoogleCloudVisionV1p1beta1ProductKeyValue: A product label 2749// represented as a key-value pair. 2750type GoogleCloudVisionV1p1beta1ProductKeyValue struct { 2751 // Key: The key of the label attached to the product. Cannot be empty 2752 // and cannot exceed 128 bytes. 2753 Key string `json:"key,omitempty"` 2754 2755 // Value: The value of the label attached to the product. Cannot be 2756 // empty and cannot exceed 128 bytes. 2757 Value string `json:"value,omitempty"` 2758 2759 // ForceSendFields is a list of field names (e.g. "Key") to 2760 // unconditionally include in API requests. By default, fields with 2761 // empty or default values are omitted from API requests. However, any 2762 // non-pointer, non-interface field appearing in ForceSendFields will be 2763 // sent to the server regardless of whether the field is empty or not. 2764 // This may be used to include empty fields in Patch requests. 2765 ForceSendFields []string `json:"-"` 2766 2767 // NullFields is a list of field names (e.g. "Key") to include in API 2768 // requests with the JSON null value. By default, fields with empty 2769 // values are omitted from API requests. However, any field with an 2770 // empty value appearing in NullFields will be sent to the server as 2771 // null. It is an error if a field in this list has a non-empty value. 2772 // This may be used to include null fields in Patch requests. 2773 NullFields []string `json:"-"` 2774} 2775 2776func (s *GoogleCloudVisionV1p1beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 2777 type NoMethod GoogleCloudVisionV1p1beta1ProductKeyValue 2778 raw := NoMethod(*s) 2779 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2780} 2781 2782// GoogleCloudVisionV1p1beta1ProductSearchResults: Results for a product 2783// search request. 2784type GoogleCloudVisionV1p1beta1ProductSearchResults struct { 2785 // IndexTime: Timestamp of the index which provided these results. 2786 // Products added to the product set and products removed from the 2787 // product set after this time are not reflected in the current results. 2788 IndexTime string `json:"indexTime,omitempty"` 2789 2790 // ProductGroupedResults: List of results grouped by products detected 2791 // in the query image. Each entry corresponds to one bounding polygon in 2792 // the query image, and contains the matching products specific to that 2793 // region. There may be duplicate product matches in the union of all 2794 // the per-product results. 2795 ProductGroupedResults []*GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 2796 2797 // Results: List of results, one for each product match. 2798 Results []*GoogleCloudVisionV1p1beta1ProductSearchResultsResult `json:"results,omitempty"` 2799 2800 // ForceSendFields is a list of field names (e.g. "IndexTime") to 2801 // unconditionally include in API requests. By default, fields with 2802 // empty or default values are omitted from API requests. However, any 2803 // non-pointer, non-interface field appearing in ForceSendFields will be 2804 // sent to the server regardless of whether the field is empty or not. 2805 // This may be used to include empty fields in Patch requests. 2806 ForceSendFields []string `json:"-"` 2807 2808 // NullFields is a list of field names (e.g. "IndexTime") to include in 2809 // API requests with the JSON null value. By default, fields with empty 2810 // values are omitted from API requests. However, any field with an 2811 // empty value appearing in NullFields will be sent to the server as 2812 // null. It is an error if a field in this list has a non-empty value. 2813 // This may be used to include null fields in Patch requests. 2814 NullFields []string `json:"-"` 2815} 2816 2817func (s *GoogleCloudVisionV1p1beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 2818 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResults 2819 raw := NoMethod(*s) 2820 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2821} 2822 2823// GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult: 2824// Information about the products similar to a single product in a query 2825// image. 2826type GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult struct { 2827 // BoundingPoly: The bounding polygon around the product detected in the 2828 // query image. 2829 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 2830 2831 // ObjectAnnotations: List of generic predictions for the object in the 2832 // bounding box. 2833 ObjectAnnotations []*GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 2834 2835 // Results: List of results, one for each product match. 2836 Results []*GoogleCloudVisionV1p1beta1ProductSearchResultsResult `json:"results,omitempty"` 2837 2838 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 2839 // unconditionally include in API requests. By default, fields with 2840 // empty or default values are omitted from API requests. However, any 2841 // non-pointer, non-interface field appearing in ForceSendFields will be 2842 // sent to the server regardless of whether the field is empty or not. 2843 // This may be used to include empty fields in Patch requests. 2844 ForceSendFields []string `json:"-"` 2845 2846 // NullFields is a list of field names (e.g. "BoundingPoly") to include 2847 // in API requests with the JSON null value. By default, fields with 2848 // empty values are omitted from API requests. However, any field with 2849 // an empty value appearing in NullFields will be sent to the server as 2850 // null. It is an error if a field in this list has a non-empty value. 2851 // This may be used to include null fields in Patch requests. 2852 NullFields []string `json:"-"` 2853} 2854 2855func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 2856 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult 2857 raw := NoMethod(*s) 2858 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2859} 2860 2861// GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation: 2862// Prediction for what the object in the bounding box is. 2863type GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation struct { 2864 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 2865 // For more information, see 2866 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 2867 LanguageCode string `json:"languageCode,omitempty"` 2868 2869 // Mid: Object ID that should align with EntityAnnotation mid. 2870 Mid string `json:"mid,omitempty"` 2871 2872 // Name: Object name, expressed in its `language_code` language. 2873 Name string `json:"name,omitempty"` 2874 2875 // Score: Score of the result. Range [0, 1]. 2876 Score float64 `json:"score,omitempty"` 2877 2878 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 2879 // unconditionally include in API requests. By default, fields with 2880 // empty or default values are omitted from API requests. However, any 2881 // non-pointer, non-interface field appearing in ForceSendFields will be 2882 // sent to the server regardless of whether the field is empty or not. 2883 // This may be used to include empty fields in Patch requests. 2884 ForceSendFields []string `json:"-"` 2885 2886 // NullFields is a list of field names (e.g. "LanguageCode") to include 2887 // in API requests with the JSON null value. By default, fields with 2888 // empty values are omitted from API requests. However, any field with 2889 // an empty value appearing in NullFields will be sent to the server as 2890 // null. It is an error if a field in this list has a non-empty value. 2891 // This may be used to include null fields in Patch requests. 2892 NullFields []string `json:"-"` 2893} 2894 2895func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 2896 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation 2897 raw := NoMethod(*s) 2898 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2899} 2900 2901func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 2902 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation 2903 var s1 struct { 2904 Score gensupport.JSONFloat64 `json:"score"` 2905 *NoMethod 2906 } 2907 s1.NoMethod = (*NoMethod)(s) 2908 if err := json.Unmarshal(data, &s1); err != nil { 2909 return err 2910 } 2911 s.Score = float64(s1.Score) 2912 return nil 2913} 2914 2915// GoogleCloudVisionV1p1beta1ProductSearchResultsResult: Information 2916// about a product. 2917type GoogleCloudVisionV1p1beta1ProductSearchResultsResult struct { 2918 // Image: The resource name of the image from the product that is the 2919 // closest match to the query. 2920 Image string `json:"image,omitempty"` 2921 2922 // Product: The Product. 2923 Product *GoogleCloudVisionV1p1beta1Product `json:"product,omitempty"` 2924 2925 // Score: A confidence level on the match, ranging from 0 (no 2926 // confidence) to 1 (full confidence). 2927 Score float64 `json:"score,omitempty"` 2928 2929 // ForceSendFields is a list of field names (e.g. "Image") to 2930 // unconditionally include in API requests. By default, fields with 2931 // empty or default values are omitted from API requests. However, any 2932 // non-pointer, non-interface field appearing in ForceSendFields will be 2933 // sent to the server regardless of whether the field is empty or not. 2934 // This may be used to include empty fields in Patch requests. 2935 ForceSendFields []string `json:"-"` 2936 2937 // NullFields is a list of field names (e.g. "Image") to include in API 2938 // requests with the JSON null value. By default, fields with empty 2939 // values are omitted from API requests. However, any field with an 2940 // empty value appearing in NullFields will be sent to the server as 2941 // null. It is an error if a field in this list has a non-empty value. 2942 // This may be used to include null fields in Patch requests. 2943 NullFields []string `json:"-"` 2944} 2945 2946func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 2947 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsResult 2948 raw := NoMethod(*s) 2949 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2950} 2951 2952func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 2953 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsResult 2954 var s1 struct { 2955 Score gensupport.JSONFloat64 `json:"score"` 2956 *NoMethod 2957 } 2958 s1.NoMethod = (*NoMethod)(s) 2959 if err := json.Unmarshal(data, &s1); err != nil { 2960 return err 2961 } 2962 s.Score = float64(s1.Score) 2963 return nil 2964} 2965 2966// GoogleCloudVisionV1p1beta1Property: A `Property` consists of a 2967// user-supplied name/value pair. 2968type GoogleCloudVisionV1p1beta1Property struct { 2969 // Name: Name of the property. 2970 Name string `json:"name,omitempty"` 2971 2972 // Uint64Value: Value of numeric properties. 2973 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 2974 2975 // Value: Value of the property. 2976 Value string `json:"value,omitempty"` 2977 2978 // ForceSendFields is a list of field names (e.g. "Name") to 2979 // unconditionally include in API requests. By default, fields with 2980 // empty or default values are omitted from API requests. However, any 2981 // non-pointer, non-interface field appearing in ForceSendFields will be 2982 // sent to the server regardless of whether the field is empty or not. 2983 // This may be used to include empty fields in Patch requests. 2984 ForceSendFields []string `json:"-"` 2985 2986 // NullFields is a list of field names (e.g. "Name") to include in API 2987 // requests with the JSON null value. By default, fields with empty 2988 // values are omitted from API requests. However, any field with an 2989 // empty value appearing in NullFields will be sent to the server as 2990 // null. It is an error if a field in this list has a non-empty value. 2991 // This may be used to include null fields in Patch requests. 2992 NullFields []string `json:"-"` 2993} 2994 2995func (s *GoogleCloudVisionV1p1beta1Property) MarshalJSON() ([]byte, error) { 2996 type NoMethod GoogleCloudVisionV1p1beta1Property 2997 raw := NoMethod(*s) 2998 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2999} 3000 3001// GoogleCloudVisionV1p1beta1SafeSearchAnnotation: Set of features 3002// pertaining to the image, computed by computer vision methods over 3003// safe-search verticals (for example, adult, spoof, medical, violence). 3004type GoogleCloudVisionV1p1beta1SafeSearchAnnotation struct { 3005 // Adult: Represents the adult content likelihood for the image. Adult 3006 // content may contain elements such as nudity, pornographic images or 3007 // cartoons, or sexual activities. 3008 // 3009 // Possible values: 3010 // "UNKNOWN" - Unknown likelihood. 3011 // "VERY_UNLIKELY" - It is very unlikely. 3012 // "UNLIKELY" - It is unlikely. 3013 // "POSSIBLE" - It is possible. 3014 // "LIKELY" - It is likely. 3015 // "VERY_LIKELY" - It is very likely. 3016 Adult string `json:"adult,omitempty"` 3017 3018 // Medical: Likelihood that this is a medical image. 3019 // 3020 // Possible values: 3021 // "UNKNOWN" - Unknown likelihood. 3022 // "VERY_UNLIKELY" - It is very unlikely. 3023 // "UNLIKELY" - It is unlikely. 3024 // "POSSIBLE" - It is possible. 3025 // "LIKELY" - It is likely. 3026 // "VERY_LIKELY" - It is very likely. 3027 Medical string `json:"medical,omitempty"` 3028 3029 // Racy: Likelihood that the request image contains racy content. Racy 3030 // content may include (but is not limited to) skimpy or sheer clothing, 3031 // strategically covered nudity, lewd or provocative poses, or close-ups 3032 // of sensitive body areas. 3033 // 3034 // Possible values: 3035 // "UNKNOWN" - Unknown likelihood. 3036 // "VERY_UNLIKELY" - It is very unlikely. 3037 // "UNLIKELY" - It is unlikely. 3038 // "POSSIBLE" - It is possible. 3039 // "LIKELY" - It is likely. 3040 // "VERY_LIKELY" - It is very likely. 3041 Racy string `json:"racy,omitempty"` 3042 3043 // Spoof: Spoof likelihood. The likelihood that an modification was made 3044 // to the image's canonical version to make it appear funny or 3045 // offensive. 3046 // 3047 // Possible values: 3048 // "UNKNOWN" - Unknown likelihood. 3049 // "VERY_UNLIKELY" - It is very unlikely. 3050 // "UNLIKELY" - It is unlikely. 3051 // "POSSIBLE" - It is possible. 3052 // "LIKELY" - It is likely. 3053 // "VERY_LIKELY" - It is very likely. 3054 Spoof string `json:"spoof,omitempty"` 3055 3056 // Violence: Likelihood that this image contains violent content. 3057 // 3058 // Possible values: 3059 // "UNKNOWN" - Unknown likelihood. 3060 // "VERY_UNLIKELY" - It is very unlikely. 3061 // "UNLIKELY" - It is unlikely. 3062 // "POSSIBLE" - It is possible. 3063 // "LIKELY" - It is likely. 3064 // "VERY_LIKELY" - It is very likely. 3065 Violence string `json:"violence,omitempty"` 3066 3067 // ForceSendFields is a list of field names (e.g. "Adult") to 3068 // unconditionally include in API requests. By default, fields with 3069 // empty or default values are omitted from API requests. However, any 3070 // non-pointer, non-interface field appearing in ForceSendFields will be 3071 // sent to the server regardless of whether the field is empty or not. 3072 // This may be used to include empty fields in Patch requests. 3073 ForceSendFields []string `json:"-"` 3074 3075 // NullFields is a list of field names (e.g. "Adult") to include in API 3076 // requests with the JSON null value. By default, fields with empty 3077 // values are omitted from API requests. However, any field with an 3078 // empty value appearing in NullFields will be sent to the server as 3079 // null. It is an error if a field in this list has a non-empty value. 3080 // This may be used to include null fields in Patch requests. 3081 NullFields []string `json:"-"` 3082} 3083 3084func (s *GoogleCloudVisionV1p1beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 3085 type NoMethod GoogleCloudVisionV1p1beta1SafeSearchAnnotation 3086 raw := NoMethod(*s) 3087 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3088} 3089 3090// GoogleCloudVisionV1p1beta1Symbol: A single symbol representation. 3091type GoogleCloudVisionV1p1beta1Symbol struct { 3092 // BoundingBox: The bounding box for the symbol. The vertices are in the 3093 // order of top-left, top-right, bottom-right, bottom-left. When a 3094 // rotation of the bounding box is detected the rotation is represented 3095 // as around the top-left corner as defined when the text is read in the 3096 // 'natural' orientation. For example: * when the text is horizontal it 3097 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 3098 // around the top-left corner it becomes: 2----3 | | 1----0 and the 3099 // vertex order will still be (0, 1, 2, 3). 3100 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 3101 3102 // Confidence: Confidence of the OCR results for the symbol. Range [0, 3103 // 1]. 3104 Confidence float64 `json:"confidence,omitempty"` 3105 3106 // Property: Additional information detected for the symbol. 3107 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 3108 3109 // Text: The actual UTF-8 representation of the symbol. 3110 Text string `json:"text,omitempty"` 3111 3112 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 3113 // unconditionally include in API requests. By default, fields with 3114 // empty or default values are omitted from API requests. However, any 3115 // non-pointer, non-interface field appearing in ForceSendFields will be 3116 // sent to the server regardless of whether the field is empty or not. 3117 // This may be used to include empty fields in Patch requests. 3118 ForceSendFields []string `json:"-"` 3119 3120 // NullFields is a list of field names (e.g. "BoundingBox") to include 3121 // in API requests with the JSON null value. By default, fields with 3122 // empty values are omitted from API requests. However, any field with 3123 // an empty value appearing in NullFields will be sent to the server as 3124 // null. It is an error if a field in this list has a non-empty value. 3125 // This may be used to include null fields in Patch requests. 3126 NullFields []string `json:"-"` 3127} 3128 3129func (s *GoogleCloudVisionV1p1beta1Symbol) MarshalJSON() ([]byte, error) { 3130 type NoMethod GoogleCloudVisionV1p1beta1Symbol 3131 raw := NoMethod(*s) 3132 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3133} 3134 3135func (s *GoogleCloudVisionV1p1beta1Symbol) UnmarshalJSON(data []byte) error { 3136 type NoMethod GoogleCloudVisionV1p1beta1Symbol 3137 var s1 struct { 3138 Confidence gensupport.JSONFloat64 `json:"confidence"` 3139 *NoMethod 3140 } 3141 s1.NoMethod = (*NoMethod)(s) 3142 if err := json.Unmarshal(data, &s1); err != nil { 3143 return err 3144 } 3145 s.Confidence = float64(s1.Confidence) 3146 return nil 3147} 3148 3149// GoogleCloudVisionV1p1beta1TextAnnotation: TextAnnotation contains a 3150// structured representation of OCR extracted text. The hierarchy of an 3151// OCR extracted text structure is like this: TextAnnotation -> Page -> 3152// Block -> Paragraph -> Word -> Symbol Each structural component, 3153// starting from Page, may further have their own properties. Properties 3154// describe detected languages, breaks etc.. Please refer to the 3155// TextAnnotation.TextProperty message definition below for more detail. 3156type GoogleCloudVisionV1p1beta1TextAnnotation struct { 3157 // Pages: List of pages detected by OCR. 3158 Pages []*GoogleCloudVisionV1p1beta1Page `json:"pages,omitempty"` 3159 3160 // Text: UTF-8 text detected on the pages. 3161 Text string `json:"text,omitempty"` 3162 3163 // ForceSendFields is a list of field names (e.g. "Pages") to 3164 // unconditionally include in API requests. By default, fields with 3165 // empty or default values are omitted from API requests. However, any 3166 // non-pointer, non-interface field appearing in ForceSendFields will be 3167 // sent to the server regardless of whether the field is empty or not. 3168 // This may be used to include empty fields in Patch requests. 3169 ForceSendFields []string `json:"-"` 3170 3171 // NullFields is a list of field names (e.g. "Pages") to include in API 3172 // requests with the JSON null value. By default, fields with empty 3173 // values are omitted from API requests. However, any field with an 3174 // empty value appearing in NullFields will be sent to the server as 3175 // null. It is an error if a field in this list has a non-empty value. 3176 // This may be used to include null fields in Patch requests. 3177 NullFields []string `json:"-"` 3178} 3179 3180func (s *GoogleCloudVisionV1p1beta1TextAnnotation) MarshalJSON() ([]byte, error) { 3181 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotation 3182 raw := NoMethod(*s) 3183 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3184} 3185 3186// GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak: Detected start 3187// or end of a structural component. 3188type GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak struct { 3189 // IsPrefix: True if break prepends the element. 3190 IsPrefix bool `json:"isPrefix,omitempty"` 3191 3192 // Type: Detected break type. 3193 // 3194 // Possible values: 3195 // "UNKNOWN" - Unknown break label type. 3196 // "SPACE" - Regular space. 3197 // "SURE_SPACE" - Sure space (very wide). 3198 // "EOL_SURE_SPACE" - Line-wrapping break. 3199 // "HYPHEN" - End-line hyphen that is not present in text; does not 3200 // co-occur with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 3201 // "LINE_BREAK" - Line break that ends a paragraph. 3202 Type string `json:"type,omitempty"` 3203 3204 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 3205 // unconditionally include in API requests. By default, fields with 3206 // empty or default values are omitted from API requests. However, any 3207 // non-pointer, non-interface field appearing in ForceSendFields will be 3208 // sent to the server regardless of whether the field is empty or not. 3209 // This may be used to include empty fields in Patch requests. 3210 ForceSendFields []string `json:"-"` 3211 3212 // NullFields is a list of field names (e.g. "IsPrefix") to include in 3213 // API requests with the JSON null value. By default, fields with empty 3214 // values are omitted from API requests. However, any field with an 3215 // empty value appearing in NullFields will be sent to the server as 3216 // null. It is an error if a field in this list has a non-empty value. 3217 // This may be used to include null fields in Patch requests. 3218 NullFields []string `json:"-"` 3219} 3220 3221func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 3222 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak 3223 raw := NoMethod(*s) 3224 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3225} 3226 3227// GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage: Detected 3228// language for a structural component. 3229type GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage struct { 3230 // Confidence: Confidence of detected language. Range [0, 1]. 3231 Confidence float64 `json:"confidence,omitempty"` 3232 3233 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 3234 // For more information, see 3235 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 3236 LanguageCode string `json:"languageCode,omitempty"` 3237 3238 // ForceSendFields is a list of field names (e.g. "Confidence") to 3239 // unconditionally include in API requests. By default, fields with 3240 // empty or default values are omitted from API requests. However, any 3241 // non-pointer, non-interface field appearing in ForceSendFields will be 3242 // sent to the server regardless of whether the field is empty or not. 3243 // This may be used to include empty fields in Patch requests. 3244 ForceSendFields []string `json:"-"` 3245 3246 // NullFields is a list of field names (e.g. "Confidence") to include in 3247 // API requests with the JSON null value. By default, fields with empty 3248 // values are omitted from API requests. However, any field with an 3249 // empty value appearing in NullFields will be sent to the server as 3250 // null. It is an error if a field in this list has a non-empty value. 3251 // This may be used to include null fields in Patch requests. 3252 NullFields []string `json:"-"` 3253} 3254 3255func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 3256 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage 3257 raw := NoMethod(*s) 3258 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3259} 3260 3261func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 3262 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage 3263 var s1 struct { 3264 Confidence gensupport.JSONFloat64 `json:"confidence"` 3265 *NoMethod 3266 } 3267 s1.NoMethod = (*NoMethod)(s) 3268 if err := json.Unmarshal(data, &s1); err != nil { 3269 return err 3270 } 3271 s.Confidence = float64(s1.Confidence) 3272 return nil 3273} 3274 3275// GoogleCloudVisionV1p1beta1TextAnnotationTextProperty: Additional 3276// information detected on the structural component. 3277type GoogleCloudVisionV1p1beta1TextAnnotationTextProperty struct { 3278 // DetectedBreak: Detected start or end of a text segment. 3279 DetectedBreak *GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 3280 3281 // DetectedLanguages: A list of detected languages together with 3282 // confidence. 3283 DetectedLanguages []*GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 3284 3285 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 3286 // unconditionally include in API requests. By default, fields with 3287 // empty or default values are omitted from API requests. However, any 3288 // non-pointer, non-interface field appearing in ForceSendFields will be 3289 // sent to the server regardless of whether the field is empty or not. 3290 // This may be used to include empty fields in Patch requests. 3291 ForceSendFields []string `json:"-"` 3292 3293 // NullFields is a list of field names (e.g. "DetectedBreak") to include 3294 // in API requests with the JSON null value. By default, fields with 3295 // empty values are omitted from API requests. However, any field with 3296 // an empty value appearing in NullFields will be sent to the server as 3297 // null. It is an error if a field in this list has a non-empty value. 3298 // This may be used to include null fields in Patch requests. 3299 NullFields []string `json:"-"` 3300} 3301 3302func (s *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 3303 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationTextProperty 3304 raw := NoMethod(*s) 3305 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3306} 3307 3308// GoogleCloudVisionV1p1beta1Vertex: A vertex represents a 2D point in 3309// the image. NOTE: the vertex coordinates are in the same scale as the 3310// original image. 3311type GoogleCloudVisionV1p1beta1Vertex struct { 3312 // X: X coordinate. 3313 X int64 `json:"x,omitempty"` 3314 3315 // Y: Y coordinate. 3316 Y int64 `json:"y,omitempty"` 3317 3318 // ForceSendFields is a list of field names (e.g. "X") to 3319 // unconditionally include in API requests. By default, fields with 3320 // empty or default values are omitted from API requests. However, any 3321 // non-pointer, non-interface field appearing in ForceSendFields will be 3322 // sent to the server regardless of whether the field is empty or not. 3323 // This may be used to include empty fields in Patch requests. 3324 ForceSendFields []string `json:"-"` 3325 3326 // NullFields is a list of field names (e.g. "X") to include in API 3327 // requests with the JSON null value. By default, fields with empty 3328 // values are omitted from API requests. However, any field with an 3329 // empty value appearing in NullFields will be sent to the server as 3330 // null. It is an error if a field in this list has a non-empty value. 3331 // This may be used to include null fields in Patch requests. 3332 NullFields []string `json:"-"` 3333} 3334 3335func (s *GoogleCloudVisionV1p1beta1Vertex) MarshalJSON() ([]byte, error) { 3336 type NoMethod GoogleCloudVisionV1p1beta1Vertex 3337 raw := NoMethod(*s) 3338 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3339} 3340 3341// GoogleCloudVisionV1p1beta1WebDetection: Relevant information for the 3342// image from the Internet. 3343type GoogleCloudVisionV1p1beta1WebDetection struct { 3344 // BestGuessLabels: The service's best guess as to the topic of the 3345 // request image. Inferred from similar images on the open web. 3346 BestGuessLabels []*GoogleCloudVisionV1p1beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 3347 3348 // FullMatchingImages: Fully matching images from the Internet. Can 3349 // include resized copies of the query image. 3350 FullMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 3351 3352 // PagesWithMatchingImages: Web pages containing the matching images 3353 // from the Internet. 3354 PagesWithMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 3355 3356 // PartialMatchingImages: Partial matching images from the Internet. 3357 // Those images are similar enough to share some key-point features. For 3358 // example an original image will likely have partial matching for its 3359 // crops. 3360 PartialMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 3361 3362 // VisuallySimilarImages: The visually similar image results. 3363 VisuallySimilarImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 3364 3365 // WebEntities: Deduced entities from similar images on the Internet. 3366 WebEntities []*GoogleCloudVisionV1p1beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 3367 3368 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 3369 // unconditionally include in API requests. By default, fields with 3370 // empty or default values are omitted from API requests. However, any 3371 // non-pointer, non-interface field appearing in ForceSendFields will be 3372 // sent to the server regardless of whether the field is empty or not. 3373 // This may be used to include empty fields in Patch requests. 3374 ForceSendFields []string `json:"-"` 3375 3376 // NullFields is a list of field names (e.g. "BestGuessLabels") to 3377 // include in API requests with the JSON null value. By default, fields 3378 // with empty values are omitted from API requests. However, any field 3379 // with an empty value appearing in NullFields will be sent to the 3380 // server as null. It is an error if a field in this list has a 3381 // non-empty value. This may be used to include null fields in Patch 3382 // requests. 3383 NullFields []string `json:"-"` 3384} 3385 3386func (s *GoogleCloudVisionV1p1beta1WebDetection) MarshalJSON() ([]byte, error) { 3387 type NoMethod GoogleCloudVisionV1p1beta1WebDetection 3388 raw := NoMethod(*s) 3389 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3390} 3391 3392// GoogleCloudVisionV1p1beta1WebDetectionWebEntity: Entity deduced from 3393// similar images on the Internet. 3394type GoogleCloudVisionV1p1beta1WebDetectionWebEntity struct { 3395 // Description: Canonical description of the entity, in English. 3396 Description string `json:"description,omitempty"` 3397 3398 // EntityId: Opaque entity ID. 3399 EntityId string `json:"entityId,omitempty"` 3400 3401 // Score: Overall relevancy score for the entity. Not normalized and not 3402 // comparable across different image queries. 3403 Score float64 `json:"score,omitempty"` 3404 3405 // ForceSendFields is a list of field names (e.g. "Description") to 3406 // unconditionally include in API requests. By default, fields with 3407 // empty or default values are omitted from API requests. However, any 3408 // non-pointer, non-interface field appearing in ForceSendFields will be 3409 // sent to the server regardless of whether the field is empty or not. 3410 // This may be used to include empty fields in Patch requests. 3411 ForceSendFields []string `json:"-"` 3412 3413 // NullFields is a list of field names (e.g. "Description") to include 3414 // in API requests with the JSON null value. By default, fields with 3415 // empty values are omitted from API requests. However, any field with 3416 // an empty value appearing in NullFields will be sent to the server as 3417 // null. It is an error if a field in this list has a non-empty value. 3418 // This may be used to include null fields in Patch requests. 3419 NullFields []string `json:"-"` 3420} 3421 3422func (s *GoogleCloudVisionV1p1beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 3423 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebEntity 3424 raw := NoMethod(*s) 3425 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3426} 3427 3428func (s *GoogleCloudVisionV1p1beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 3429 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebEntity 3430 var s1 struct { 3431 Score gensupport.JSONFloat64 `json:"score"` 3432 *NoMethod 3433 } 3434 s1.NoMethod = (*NoMethod)(s) 3435 if err := json.Unmarshal(data, &s1); err != nil { 3436 return err 3437 } 3438 s.Score = float64(s1.Score) 3439 return nil 3440} 3441 3442// GoogleCloudVisionV1p1beta1WebDetectionWebImage: Metadata for online 3443// images. 3444type GoogleCloudVisionV1p1beta1WebDetectionWebImage struct { 3445 // Score: (Deprecated) Overall relevancy score for the image. 3446 Score float64 `json:"score,omitempty"` 3447 3448 // Url: The result image URL. 3449 Url string `json:"url,omitempty"` 3450 3451 // ForceSendFields is a list of field names (e.g. "Score") to 3452 // unconditionally include in API requests. By default, fields with 3453 // empty or default values are omitted from API requests. However, any 3454 // non-pointer, non-interface field appearing in ForceSendFields will be 3455 // sent to the server regardless of whether the field is empty or not. 3456 // This may be used to include empty fields in Patch requests. 3457 ForceSendFields []string `json:"-"` 3458 3459 // NullFields is a list of field names (e.g. "Score") to include in API 3460 // requests with the JSON null value. By default, fields with empty 3461 // values are omitted from API requests. However, any field with an 3462 // empty value appearing in NullFields will be sent to the server as 3463 // null. It is an error if a field in this list has a non-empty value. 3464 // This may be used to include null fields in Patch requests. 3465 NullFields []string `json:"-"` 3466} 3467 3468func (s *GoogleCloudVisionV1p1beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 3469 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebImage 3470 raw := NoMethod(*s) 3471 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3472} 3473 3474func (s *GoogleCloudVisionV1p1beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 3475 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebImage 3476 var s1 struct { 3477 Score gensupport.JSONFloat64 `json:"score"` 3478 *NoMethod 3479 } 3480 s1.NoMethod = (*NoMethod)(s) 3481 if err := json.Unmarshal(data, &s1); err != nil { 3482 return err 3483 } 3484 s.Score = float64(s1.Score) 3485 return nil 3486} 3487 3488// GoogleCloudVisionV1p1beta1WebDetectionWebLabel: Label to provide 3489// extra metadata for the web detection. 3490type GoogleCloudVisionV1p1beta1WebDetectionWebLabel struct { 3491 // Label: Label for extra metadata. 3492 Label string `json:"label,omitempty"` 3493 3494 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 3495 // or "sr-Latn". For more information, see 3496 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 3497 LanguageCode string `json:"languageCode,omitempty"` 3498 3499 // ForceSendFields is a list of field names (e.g. "Label") to 3500 // unconditionally include in API requests. By default, fields with 3501 // empty or default values are omitted from API requests. However, any 3502 // non-pointer, non-interface field appearing in ForceSendFields will be 3503 // sent to the server regardless of whether the field is empty or not. 3504 // This may be used to include empty fields in Patch requests. 3505 ForceSendFields []string `json:"-"` 3506 3507 // NullFields is a list of field names (e.g. "Label") to include in API 3508 // requests with the JSON null value. By default, fields with empty 3509 // values are omitted from API requests. However, any field with an 3510 // empty value appearing in NullFields will be sent to the server as 3511 // null. It is an error if a field in this list has a non-empty value. 3512 // This may be used to include null fields in Patch requests. 3513 NullFields []string `json:"-"` 3514} 3515 3516func (s *GoogleCloudVisionV1p1beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 3517 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebLabel 3518 raw := NoMethod(*s) 3519 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3520} 3521 3522// GoogleCloudVisionV1p1beta1WebDetectionWebPage: Metadata for web 3523// pages. 3524type GoogleCloudVisionV1p1beta1WebDetectionWebPage struct { 3525 // FullMatchingImages: Fully matching images on the page. Can include 3526 // resized copies of the query image. 3527 FullMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 3528 3529 // PageTitle: Title for the web page, may contain HTML markups. 3530 PageTitle string `json:"pageTitle,omitempty"` 3531 3532 // PartialMatchingImages: Partial matching images on the page. Those 3533 // images are similar enough to share some key-point features. For 3534 // example an original image will likely have partial matching for its 3535 // crops. 3536 PartialMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 3537 3538 // Score: (Deprecated) Overall relevancy score for the web page. 3539 Score float64 `json:"score,omitempty"` 3540 3541 // Url: The result web page URL. 3542 Url string `json:"url,omitempty"` 3543 3544 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 3545 // to unconditionally include in API requests. By default, fields with 3546 // empty or default values are omitted from API requests. However, any 3547 // non-pointer, non-interface field appearing in ForceSendFields will be 3548 // sent to the server regardless of whether the field is empty or not. 3549 // This may be used to include empty fields in Patch requests. 3550 ForceSendFields []string `json:"-"` 3551 3552 // NullFields is a list of field names (e.g. "FullMatchingImages") to 3553 // include in API requests with the JSON null value. By default, fields 3554 // with empty values are omitted from API requests. However, any field 3555 // with an empty value appearing in NullFields will be sent to the 3556 // server as null. It is an error if a field in this list has a 3557 // non-empty value. This may be used to include null fields in Patch 3558 // requests. 3559 NullFields []string `json:"-"` 3560} 3561 3562func (s *GoogleCloudVisionV1p1beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 3563 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebPage 3564 raw := NoMethod(*s) 3565 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3566} 3567 3568func (s *GoogleCloudVisionV1p1beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 3569 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebPage 3570 var s1 struct { 3571 Score gensupport.JSONFloat64 `json:"score"` 3572 *NoMethod 3573 } 3574 s1.NoMethod = (*NoMethod)(s) 3575 if err := json.Unmarshal(data, &s1); err != nil { 3576 return err 3577 } 3578 s.Score = float64(s1.Score) 3579 return nil 3580} 3581 3582// GoogleCloudVisionV1p1beta1Word: A word representation. 3583type GoogleCloudVisionV1p1beta1Word struct { 3584 // BoundingBox: The bounding box for the word. The vertices are in the 3585 // order of top-left, top-right, bottom-right, bottom-left. When a 3586 // rotation of the bounding box is detected the rotation is represented 3587 // as around the top-left corner as defined when the text is read in the 3588 // 'natural' orientation. For example: * when the text is horizontal it 3589 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 3590 // around the top-left corner it becomes: 2----3 | | 1----0 and the 3591 // vertex order will still be (0, 1, 2, 3). 3592 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 3593 3594 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 3595 Confidence float64 `json:"confidence,omitempty"` 3596 3597 // Property: Additional information detected for the word. 3598 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 3599 3600 // Symbols: List of symbols in the word. The order of the symbols 3601 // follows the natural reading order. 3602 Symbols []*GoogleCloudVisionV1p1beta1Symbol `json:"symbols,omitempty"` 3603 3604 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 3605 // unconditionally include in API requests. By default, fields with 3606 // empty or default values are omitted from API requests. However, any 3607 // non-pointer, non-interface field appearing in ForceSendFields will be 3608 // sent to the server regardless of whether the field is empty or not. 3609 // This may be used to include empty fields in Patch requests. 3610 ForceSendFields []string `json:"-"` 3611 3612 // NullFields is a list of field names (e.g. "BoundingBox") to include 3613 // in API requests with the JSON null value. By default, fields with 3614 // empty values are omitted from API requests. However, any field with 3615 // an empty value appearing in NullFields will be sent to the server as 3616 // null. It is an error if a field in this list has a non-empty value. 3617 // This may be used to include null fields in Patch requests. 3618 NullFields []string `json:"-"` 3619} 3620 3621func (s *GoogleCloudVisionV1p1beta1Word) MarshalJSON() ([]byte, error) { 3622 type NoMethod GoogleCloudVisionV1p1beta1Word 3623 raw := NoMethod(*s) 3624 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3625} 3626 3627func (s *GoogleCloudVisionV1p1beta1Word) UnmarshalJSON(data []byte) error { 3628 type NoMethod GoogleCloudVisionV1p1beta1Word 3629 var s1 struct { 3630 Confidence gensupport.JSONFloat64 `json:"confidence"` 3631 *NoMethod 3632 } 3633 s1.NoMethod = (*NoMethod)(s) 3634 if err := json.Unmarshal(data, &s1); err != nil { 3635 return err 3636 } 3637 s.Confidence = float64(s1.Confidence) 3638 return nil 3639} 3640 3641// GoogleCloudVisionV1p2beta1AnnotateFileRequest: A request to annotate 3642// one single file, e.g. a PDF, TIFF or GIF file. 3643type GoogleCloudVisionV1p2beta1AnnotateFileRequest struct { 3644 // Features: Required. Requested features. 3645 Features []*GoogleCloudVisionV1p2beta1Feature `json:"features,omitempty"` 3646 3647 // ImageContext: Additional context that may accompany the image(s) in 3648 // the file. 3649 ImageContext *GoogleCloudVisionV1p2beta1ImageContext `json:"imageContext,omitempty"` 3650 3651 // InputConfig: Required. Information about the input file. 3652 InputConfig *GoogleCloudVisionV1p2beta1InputConfig `json:"inputConfig,omitempty"` 3653 3654 // Pages: Pages of the file to perform image annotation. Pages starts 3655 // from 1, we assume the first page of the file is page 1. At most 5 3656 // pages are supported per request. Pages can be negative. Page 1 means 3657 // the first page. Page 2 means the second page. Page -1 means the last 3658 // page. Page -2 means the second to the last page. If the file is GIF 3659 // instead of PDF or TIFF, page refers to GIF frames. If this field is 3660 // empty, by default the service performs image annotation for the first 3661 // 5 pages of the file. 3662 Pages []int64 `json:"pages,omitempty"` 3663 3664 // ForceSendFields is a list of field names (e.g. "Features") to 3665 // unconditionally include in API requests. By default, fields with 3666 // empty or default values are omitted from API requests. However, any 3667 // non-pointer, non-interface field appearing in ForceSendFields will be 3668 // sent to the server regardless of whether the field is empty or not. 3669 // This may be used to include empty fields in Patch requests. 3670 ForceSendFields []string `json:"-"` 3671 3672 // NullFields is a list of field names (e.g. "Features") to include in 3673 // API requests with the JSON null value. By default, fields with empty 3674 // values are omitted from API requests. However, any field with an 3675 // empty value appearing in NullFields will be sent to the server as 3676 // null. It is an error if a field in this list has a non-empty value. 3677 // This may be used to include null fields in Patch requests. 3678 NullFields []string `json:"-"` 3679} 3680 3681func (s *GoogleCloudVisionV1p2beta1AnnotateFileRequest) MarshalJSON() ([]byte, error) { 3682 type NoMethod GoogleCloudVisionV1p2beta1AnnotateFileRequest 3683 raw := NoMethod(*s) 3684 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3685} 3686 3687// GoogleCloudVisionV1p2beta1AnnotateFileResponse: Response to a single 3688// file annotation request. A file may contain one or more images, which 3689// individually have their own responses. 3690type GoogleCloudVisionV1p2beta1AnnotateFileResponse struct { 3691 // Error: If set, represents the error message for the failed request. 3692 // The `responses` field will not be set in this case. 3693 Error *Status `json:"error,omitempty"` 3694 3695 // InputConfig: Information about the file for which this response is 3696 // generated. 3697 InputConfig *GoogleCloudVisionV1p2beta1InputConfig `json:"inputConfig,omitempty"` 3698 3699 // Responses: Individual responses to images found within the file. This 3700 // field will be empty if the `error` field is set. 3701 Responses []*GoogleCloudVisionV1p2beta1AnnotateImageResponse `json:"responses,omitempty"` 3702 3703 // TotalPages: This field gives the total number of pages in the file. 3704 TotalPages int64 `json:"totalPages,omitempty"` 3705 3706 // ForceSendFields is a list of field names (e.g. "Error") to 3707 // unconditionally include in API requests. By default, fields with 3708 // empty or default values are omitted from API requests. However, any 3709 // non-pointer, non-interface field appearing in ForceSendFields will be 3710 // sent to the server regardless of whether the field is empty or not. 3711 // This may be used to include empty fields in Patch requests. 3712 ForceSendFields []string `json:"-"` 3713 3714 // NullFields is a list of field names (e.g. "Error") to include in API 3715 // requests with the JSON null value. By default, fields with empty 3716 // values are omitted from API requests. However, any field with an 3717 // empty value appearing in NullFields will be sent to the server as 3718 // null. It is an error if a field in this list has a non-empty value. 3719 // This may be used to include null fields in Patch requests. 3720 NullFields []string `json:"-"` 3721} 3722 3723func (s *GoogleCloudVisionV1p2beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 3724 type NoMethod GoogleCloudVisionV1p2beta1AnnotateFileResponse 3725 raw := NoMethod(*s) 3726 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3727} 3728 3729// GoogleCloudVisionV1p2beta1AnnotateImageRequest: Request for 3730// performing Google Cloud Vision API tasks over a user-provided image, 3731// with user-requested features, and with context information. 3732type GoogleCloudVisionV1p2beta1AnnotateImageRequest struct { 3733 // Features: Requested features. 3734 Features []*GoogleCloudVisionV1p2beta1Feature `json:"features,omitempty"` 3735 3736 // Image: The image to be processed. 3737 Image *GoogleCloudVisionV1p2beta1Image `json:"image,omitempty"` 3738 3739 // ImageContext: Additional context that may accompany the image. 3740 ImageContext *GoogleCloudVisionV1p2beta1ImageContext `json:"imageContext,omitempty"` 3741 3742 // ForceSendFields is a list of field names (e.g. "Features") to 3743 // unconditionally include in API requests. By default, fields with 3744 // empty or default values are omitted from API requests. However, any 3745 // non-pointer, non-interface field appearing in ForceSendFields will be 3746 // sent to the server regardless of whether the field is empty or not. 3747 // This may be used to include empty fields in Patch requests. 3748 ForceSendFields []string `json:"-"` 3749 3750 // NullFields is a list of field names (e.g. "Features") to include in 3751 // API requests with the JSON null value. By default, fields with empty 3752 // values are omitted from API requests. However, any field with an 3753 // empty value appearing in NullFields will be sent to the server as 3754 // null. It is an error if a field in this list has a non-empty value. 3755 // This may be used to include null fields in Patch requests. 3756 NullFields []string `json:"-"` 3757} 3758 3759func (s *GoogleCloudVisionV1p2beta1AnnotateImageRequest) MarshalJSON() ([]byte, error) { 3760 type NoMethod GoogleCloudVisionV1p2beta1AnnotateImageRequest 3761 raw := NoMethod(*s) 3762 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3763} 3764 3765// GoogleCloudVisionV1p2beta1AnnotateImageResponse: Response to an image 3766// annotation request. 3767type GoogleCloudVisionV1p2beta1AnnotateImageResponse struct { 3768 // Context: If present, contextual information is needed to understand 3769 // where this image comes from. 3770 Context *GoogleCloudVisionV1p2beta1ImageAnnotationContext `json:"context,omitempty"` 3771 3772 // CropHintsAnnotation: If present, crop hints have completed 3773 // successfully. 3774 CropHintsAnnotation *GoogleCloudVisionV1p2beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 3775 3776 // Error: If set, represents the error message for the operation. Note 3777 // that filled-in image annotations are guaranteed to be correct, even 3778 // when `error` is set. 3779 Error *Status `json:"error,omitempty"` 3780 3781 // FaceAnnotations: If present, face detection has completed 3782 // successfully. 3783 FaceAnnotations []*GoogleCloudVisionV1p2beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 3784 3785 // FullTextAnnotation: If present, text (OCR) detection or document 3786 // (OCR) text detection has completed successfully. This annotation 3787 // provides the structural hierarchy for the OCR detected text. 3788 FullTextAnnotation *GoogleCloudVisionV1p2beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 3789 3790 // ImagePropertiesAnnotation: If present, image properties were 3791 // extracted successfully. 3792 ImagePropertiesAnnotation *GoogleCloudVisionV1p2beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 3793 3794 // LabelAnnotations: If present, label detection has completed 3795 // successfully. 3796 LabelAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 3797 3798 // LandmarkAnnotations: If present, landmark detection has completed 3799 // successfully. 3800 LandmarkAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 3801 3802 // LocalizedObjectAnnotations: If present, localized object detection 3803 // has completed successfully. This will be sorted descending by 3804 // confidence score. 3805 LocalizedObjectAnnotations []*GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 3806 3807 // LogoAnnotations: If present, logo detection has completed 3808 // successfully. 3809 LogoAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 3810 3811 // ProductSearchResults: If present, product search has completed 3812 // successfully. 3813 ProductSearchResults *GoogleCloudVisionV1p2beta1ProductSearchResults `json:"productSearchResults,omitempty"` 3814 3815 // SafeSearchAnnotation: If present, safe-search annotation has 3816 // completed successfully. 3817 SafeSearchAnnotation *GoogleCloudVisionV1p2beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 3818 3819 // TextAnnotations: If present, text (OCR) detection has completed 3820 // successfully. 3821 TextAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"textAnnotations,omitempty"` 3822 3823 // WebDetection: If present, web detection has completed successfully. 3824 WebDetection *GoogleCloudVisionV1p2beta1WebDetection `json:"webDetection,omitempty"` 3825 3826 // ForceSendFields is a list of field names (e.g. "Context") to 3827 // unconditionally include in API requests. By default, fields with 3828 // empty or default values are omitted from API requests. However, any 3829 // non-pointer, non-interface field appearing in ForceSendFields will be 3830 // sent to the server regardless of whether the field is empty or not. 3831 // This may be used to include empty fields in Patch requests. 3832 ForceSendFields []string `json:"-"` 3833 3834 // NullFields is a list of field names (e.g. "Context") to include in 3835 // API requests with the JSON null value. By default, fields with empty 3836 // values are omitted from API requests. However, any field with an 3837 // empty value appearing in NullFields will be sent to the server as 3838 // null. It is an error if a field in this list has a non-empty value. 3839 // This may be used to include null fields in Patch requests. 3840 NullFields []string `json:"-"` 3841} 3842 3843func (s *GoogleCloudVisionV1p2beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 3844 type NoMethod GoogleCloudVisionV1p2beta1AnnotateImageResponse 3845 raw := NoMethod(*s) 3846 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3847} 3848 3849// GoogleCloudVisionV1p2beta1AsyncAnnotateFileRequest: An offline file 3850// annotation request. 3851type GoogleCloudVisionV1p2beta1AsyncAnnotateFileRequest struct { 3852 // Features: Required. Requested features. 3853 Features []*GoogleCloudVisionV1p2beta1Feature `json:"features,omitempty"` 3854 3855 // ImageContext: Additional context that may accompany the image(s) in 3856 // the file. 3857 ImageContext *GoogleCloudVisionV1p2beta1ImageContext `json:"imageContext,omitempty"` 3858 3859 // InputConfig: Required. Information about the input file. 3860 InputConfig *GoogleCloudVisionV1p2beta1InputConfig `json:"inputConfig,omitempty"` 3861 3862 // OutputConfig: Required. The desired output location and metadata 3863 // (e.g. format). 3864 OutputConfig *GoogleCloudVisionV1p2beta1OutputConfig `json:"outputConfig,omitempty"` 3865 3866 // ForceSendFields is a list of field names (e.g. "Features") to 3867 // unconditionally include in API requests. By default, fields with 3868 // empty or default values are omitted from API requests. However, any 3869 // non-pointer, non-interface field appearing in ForceSendFields will be 3870 // sent to the server regardless of whether the field is empty or not. 3871 // This may be used to include empty fields in Patch requests. 3872 ForceSendFields []string `json:"-"` 3873 3874 // NullFields is a list of field names (e.g. "Features") to include in 3875 // API requests with the JSON null value. By default, fields with empty 3876 // values are omitted from API requests. However, any field with an 3877 // empty value appearing in NullFields will be sent to the server as 3878 // null. It is an error if a field in this list has a non-empty value. 3879 // This may be used to include null fields in Patch requests. 3880 NullFields []string `json:"-"` 3881} 3882 3883func (s *GoogleCloudVisionV1p2beta1AsyncAnnotateFileRequest) MarshalJSON() ([]byte, error) { 3884 type NoMethod GoogleCloudVisionV1p2beta1AsyncAnnotateFileRequest 3885 raw := NoMethod(*s) 3886 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3887} 3888 3889// GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse: The response for 3890// a single offline file annotation request. 3891type GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse struct { 3892 // OutputConfig: The output location and metadata from 3893 // AsyncAnnotateFileRequest. 3894 OutputConfig *GoogleCloudVisionV1p2beta1OutputConfig `json:"outputConfig,omitempty"` 3895 3896 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 3897 // unconditionally include in API requests. By default, fields with 3898 // empty or default values are omitted from API requests. However, any 3899 // non-pointer, non-interface field appearing in ForceSendFields will be 3900 // sent to the server regardless of whether the field is empty or not. 3901 // This may be used to include empty fields in Patch requests. 3902 ForceSendFields []string `json:"-"` 3903 3904 // NullFields is a list of field names (e.g. "OutputConfig") to include 3905 // in API requests with the JSON null value. By default, fields with 3906 // empty values are omitted from API requests. However, any field with 3907 // an empty value appearing in NullFields will be sent to the server as 3908 // null. It is an error if a field in this list has a non-empty value. 3909 // This may be used to include null fields in Patch requests. 3910 NullFields []string `json:"-"` 3911} 3912 3913func (s *GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 3914 type NoMethod GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse 3915 raw := NoMethod(*s) 3916 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3917} 3918 3919// GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest: Multiple 3920// async file annotation requests are batched into a single service 3921// call. 3922type GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest struct { 3923 // Parent: Optional. Target project and location to make a call. Format: 3924 // `projects/{project-id}/locations/{location-id}`. If no parent is 3925 // specified, a region will be chosen automatically. Supported 3926 // location-ids: `us`: USA country only, `asia`: East asia areas, like 3927 // Japan, Taiwan, `eu`: The European Union. Example: 3928 // `projects/project-A/locations/eu`. 3929 Parent string `json:"parent,omitempty"` 3930 3931 // Requests: Required. Individual async file annotation requests for 3932 // this batch. 3933 Requests []*GoogleCloudVisionV1p2beta1AsyncAnnotateFileRequest `json:"requests,omitempty"` 3934 3935 // ForceSendFields is a list of field names (e.g. "Parent") to 3936 // unconditionally include in API requests. By default, fields with 3937 // empty or default values are omitted from API requests. However, any 3938 // non-pointer, non-interface field appearing in ForceSendFields will be 3939 // sent to the server regardless of whether the field is empty or not. 3940 // This may be used to include empty fields in Patch requests. 3941 ForceSendFields []string `json:"-"` 3942 3943 // NullFields is a list of field names (e.g. "Parent") to include in API 3944 // requests with the JSON null value. By default, fields with empty 3945 // values are omitted from API requests. However, any field with an 3946 // empty value appearing in NullFields will be sent to the server as 3947 // null. It is an error if a field in this list has a non-empty value. 3948 // This may be used to include null fields in Patch requests. 3949 NullFields []string `json:"-"` 3950} 3951 3952func (s *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest) MarshalJSON() ([]byte, error) { 3953 type NoMethod GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest 3954 raw := NoMethod(*s) 3955 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3956} 3957 3958// GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse: Response 3959// to an async batch file annotation request. 3960type GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse struct { 3961 // Responses: The list of file annotation responses, one for each 3962 // request in AsyncBatchAnnotateFilesRequest. 3963 Responses []*GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 3964 3965 // ForceSendFields is a list of field names (e.g. "Responses") to 3966 // unconditionally include in API requests. By default, fields with 3967 // empty or default values are omitted from API requests. However, any 3968 // non-pointer, non-interface field appearing in ForceSendFields will be 3969 // sent to the server regardless of whether the field is empty or not. 3970 // This may be used to include empty fields in Patch requests. 3971 ForceSendFields []string `json:"-"` 3972 3973 // NullFields is a list of field names (e.g. "Responses") to include in 3974 // API requests with the JSON null value. By default, fields with empty 3975 // values are omitted from API requests. However, any field with an 3976 // empty value appearing in NullFields will be sent to the server as 3977 // null. It is an error if a field in this list has a non-empty value. 3978 // This may be used to include null fields in Patch requests. 3979 NullFields []string `json:"-"` 3980} 3981 3982func (s *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 3983 type NoMethod GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse 3984 raw := NoMethod(*s) 3985 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3986} 3987 3988// GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest: Request 3989// for async image annotation for a list of images. 3990type GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest struct { 3991 // OutputConfig: Required. The desired output location and metadata 3992 // (e.g. format). 3993 OutputConfig *GoogleCloudVisionV1p2beta1OutputConfig `json:"outputConfig,omitempty"` 3994 3995 // Parent: Optional. Target project and location to make a call. Format: 3996 // `projects/{project-id}/locations/{location-id}`. If no parent is 3997 // specified, a region will be chosen automatically. Supported 3998 // location-ids: `us`: USA country only, `asia`: East asia areas, like 3999 // Japan, Taiwan, `eu`: The European Union. Example: 4000 // `projects/project-A/locations/eu`. 4001 Parent string `json:"parent,omitempty"` 4002 4003 // Requests: Required. Individual image annotation requests for this 4004 // batch. 4005 Requests []*GoogleCloudVisionV1p2beta1AnnotateImageRequest `json:"requests,omitempty"` 4006 4007 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 4008 // unconditionally include in API requests. By default, fields with 4009 // empty or default values are omitted from API requests. However, any 4010 // non-pointer, non-interface field appearing in ForceSendFields will be 4011 // sent to the server regardless of whether the field is empty or not. 4012 // This may be used to include empty fields in Patch requests. 4013 ForceSendFields []string `json:"-"` 4014 4015 // NullFields is a list of field names (e.g. "OutputConfig") to include 4016 // in API requests with the JSON null value. By default, fields with 4017 // empty values are omitted from API requests. However, any field with 4018 // an empty value appearing in NullFields will be sent to the server as 4019 // null. It is an error if a field in this list has a non-empty value. 4020 // This may be used to include null fields in Patch requests. 4021 NullFields []string `json:"-"` 4022} 4023 4024func (s *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest) MarshalJSON() ([]byte, error) { 4025 type NoMethod GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest 4026 raw := NoMethod(*s) 4027 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4028} 4029 4030// GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest: A list of 4031// requests to annotate files using the BatchAnnotateFiles API. 4032type GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest struct { 4033 // Parent: Optional. Target project and location to make a call. Format: 4034 // `projects/{project-id}/locations/{location-id}`. If no parent is 4035 // specified, a region will be chosen automatically. Supported 4036 // location-ids: `us`: USA country only, `asia`: East asia areas, like 4037 // Japan, Taiwan, `eu`: The European Union. Example: 4038 // `projects/project-A/locations/eu`. 4039 Parent string `json:"parent,omitempty"` 4040 4041 // Requests: Required. The list of file annotation requests. Right now 4042 // we support only one AnnotateFileRequest in BatchAnnotateFilesRequest. 4043 Requests []*GoogleCloudVisionV1p2beta1AnnotateFileRequest `json:"requests,omitempty"` 4044 4045 // ForceSendFields is a list of field names (e.g. "Parent") to 4046 // unconditionally include in API requests. By default, fields with 4047 // empty or default values are omitted from API requests. However, any 4048 // non-pointer, non-interface field appearing in ForceSendFields will be 4049 // sent to the server regardless of whether the field is empty or not. 4050 // This may be used to include empty fields in Patch requests. 4051 ForceSendFields []string `json:"-"` 4052 4053 // NullFields is a list of field names (e.g. "Parent") to include in API 4054 // requests with the JSON null value. By default, fields with empty 4055 // values are omitted from API requests. However, any field with an 4056 // empty value appearing in NullFields will be sent to the server as 4057 // null. It is an error if a field in this list has a non-empty value. 4058 // This may be used to include null fields in Patch requests. 4059 NullFields []string `json:"-"` 4060} 4061 4062func (s *GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest) MarshalJSON() ([]byte, error) { 4063 type NoMethod GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest 4064 raw := NoMethod(*s) 4065 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4066} 4067 4068// GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse: A list of file 4069// annotation responses. 4070type GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse struct { 4071 // Responses: The list of file annotation responses, each response 4072 // corresponding to each AnnotateFileRequest in 4073 // BatchAnnotateFilesRequest. 4074 Responses []*GoogleCloudVisionV1p2beta1AnnotateFileResponse `json:"responses,omitempty"` 4075 4076 // ServerResponse contains the HTTP response code and headers from the 4077 // server. 4078 googleapi.ServerResponse `json:"-"` 4079 4080 // ForceSendFields is a list of field names (e.g. "Responses") to 4081 // unconditionally include in API requests. By default, fields with 4082 // empty or default values are omitted from API requests. However, any 4083 // non-pointer, non-interface field appearing in ForceSendFields will be 4084 // sent to the server regardless of whether the field is empty or not. 4085 // This may be used to include empty fields in Patch requests. 4086 ForceSendFields []string `json:"-"` 4087 4088 // NullFields is a list of field names (e.g. "Responses") to include in 4089 // API requests with the JSON null value. By default, fields with empty 4090 // values are omitted from API requests. However, any field with an 4091 // empty value appearing in NullFields will be sent to the server as 4092 // null. It is an error if a field in this list has a non-empty value. 4093 // This may be used to include null fields in Patch requests. 4094 NullFields []string `json:"-"` 4095} 4096 4097func (s *GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 4098 type NoMethod GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse 4099 raw := NoMethod(*s) 4100 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4101} 4102 4103// GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest: Multiple image 4104// annotation requests are batched into a single service call. 4105type GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest struct { 4106 // Parent: Optional. Target project and location to make a call. Format: 4107 // `projects/{project-id}/locations/{location-id}`. If no parent is 4108 // specified, a region will be chosen automatically. Supported 4109 // location-ids: `us`: USA country only, `asia`: East asia areas, like 4110 // Japan, Taiwan, `eu`: The European Union. Example: 4111 // `projects/project-A/locations/eu`. 4112 Parent string `json:"parent,omitempty"` 4113 4114 // Requests: Required. Individual image annotation requests for this 4115 // batch. 4116 Requests []*GoogleCloudVisionV1p2beta1AnnotateImageRequest `json:"requests,omitempty"` 4117 4118 // ForceSendFields is a list of field names (e.g. "Parent") to 4119 // unconditionally include in API requests. By default, fields with 4120 // empty or default values are omitted from API requests. However, any 4121 // non-pointer, non-interface field appearing in ForceSendFields will be 4122 // sent to the server regardless of whether the field is empty or not. 4123 // This may be used to include empty fields in Patch requests. 4124 ForceSendFields []string `json:"-"` 4125 4126 // NullFields is a list of field names (e.g. "Parent") to include in API 4127 // requests with the JSON null value. By default, fields with empty 4128 // values are omitted from API requests. However, any field with an 4129 // empty value appearing in NullFields will be sent to the server as 4130 // null. It is an error if a field in this list has a non-empty value. 4131 // This may be used to include null fields in Patch requests. 4132 NullFields []string `json:"-"` 4133} 4134 4135func (s *GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest) MarshalJSON() ([]byte, error) { 4136 type NoMethod GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest 4137 raw := NoMethod(*s) 4138 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4139} 4140 4141// GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse: Response to a 4142// batch image annotation request. 4143type GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse struct { 4144 // Responses: Individual responses to image annotation requests within 4145 // the batch. 4146 Responses []*GoogleCloudVisionV1p2beta1AnnotateImageResponse `json:"responses,omitempty"` 4147 4148 // ServerResponse contains the HTTP response code and headers from the 4149 // server. 4150 googleapi.ServerResponse `json:"-"` 4151 4152 // ForceSendFields is a list of field names (e.g. "Responses") to 4153 // unconditionally include in API requests. By default, fields with 4154 // empty or default values are omitted from API requests. However, any 4155 // non-pointer, non-interface field appearing in ForceSendFields will be 4156 // sent to the server regardless of whether the field is empty or not. 4157 // This may be used to include empty fields in Patch requests. 4158 ForceSendFields []string `json:"-"` 4159 4160 // NullFields is a list of field names (e.g. "Responses") to include in 4161 // API requests with the JSON null value. By default, fields with empty 4162 // values are omitted from API requests. However, any field with an 4163 // empty value appearing in NullFields will be sent to the server as 4164 // null. It is an error if a field in this list has a non-empty value. 4165 // This may be used to include null fields in Patch requests. 4166 NullFields []string `json:"-"` 4167} 4168 4169func (s *GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 4170 type NoMethod GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse 4171 raw := NoMethod(*s) 4172 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4173} 4174 4175// GoogleCloudVisionV1p2beta1Block: Logical element on the page. 4176type GoogleCloudVisionV1p2beta1Block struct { 4177 // BlockType: Detected block type (text, image etc) for this block. 4178 // 4179 // Possible values: 4180 // "UNKNOWN" - Unknown block type. 4181 // "TEXT" - Regular text block. 4182 // "TABLE" - Table block. 4183 // "PICTURE" - Image block. 4184 // "RULER" - Horizontal/vertical line box. 4185 // "BARCODE" - Barcode block. 4186 BlockType string `json:"blockType,omitempty"` 4187 4188 // BoundingBox: The bounding box for the block. The vertices are in the 4189 // order of top-left, top-right, bottom-right, bottom-left. When a 4190 // rotation of the bounding box is detected the rotation is represented 4191 // as around the top-left corner as defined when the text is read in the 4192 // 'natural' orientation. For example: * when the text is horizontal it 4193 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 4194 // around the top-left corner it becomes: 2----3 | | 1----0 and the 4195 // vertex order will still be (0, 1, 2, 3). 4196 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 4197 4198 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 4199 Confidence float64 `json:"confidence,omitempty"` 4200 4201 // Paragraphs: List of paragraphs in this block (if this blocks is of 4202 // type text). 4203 Paragraphs []*GoogleCloudVisionV1p2beta1Paragraph `json:"paragraphs,omitempty"` 4204 4205 // Property: Additional information detected for the block. 4206 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 4207 4208 // ForceSendFields is a list of field names (e.g. "BlockType") to 4209 // unconditionally include in API requests. By default, fields with 4210 // empty or default values are omitted from API requests. However, any 4211 // non-pointer, non-interface field appearing in ForceSendFields will be 4212 // sent to the server regardless of whether the field is empty or not. 4213 // This may be used to include empty fields in Patch requests. 4214 ForceSendFields []string `json:"-"` 4215 4216 // NullFields is a list of field names (e.g. "BlockType") to include in 4217 // API requests with the JSON null value. By default, fields with empty 4218 // values are omitted from API requests. However, any field with an 4219 // empty value appearing in NullFields will be sent to the server as 4220 // null. It is an error if a field in this list has a non-empty value. 4221 // This may be used to include null fields in Patch requests. 4222 NullFields []string `json:"-"` 4223} 4224 4225func (s *GoogleCloudVisionV1p2beta1Block) MarshalJSON() ([]byte, error) { 4226 type NoMethod GoogleCloudVisionV1p2beta1Block 4227 raw := NoMethod(*s) 4228 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4229} 4230 4231func (s *GoogleCloudVisionV1p2beta1Block) UnmarshalJSON(data []byte) error { 4232 type NoMethod GoogleCloudVisionV1p2beta1Block 4233 var s1 struct { 4234 Confidence gensupport.JSONFloat64 `json:"confidence"` 4235 *NoMethod 4236 } 4237 s1.NoMethod = (*NoMethod)(s) 4238 if err := json.Unmarshal(data, &s1); err != nil { 4239 return err 4240 } 4241 s.Confidence = float64(s1.Confidence) 4242 return nil 4243} 4244 4245// GoogleCloudVisionV1p2beta1BoundingPoly: A bounding polygon for the 4246// detected image annotation. 4247type GoogleCloudVisionV1p2beta1BoundingPoly struct { 4248 // NormalizedVertices: The bounding polygon normalized vertices. 4249 NormalizedVertices []*GoogleCloudVisionV1p2beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 4250 4251 // Vertices: The bounding polygon vertices. 4252 Vertices []*GoogleCloudVisionV1p2beta1Vertex `json:"vertices,omitempty"` 4253 4254 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 4255 // to unconditionally include in API requests. By default, fields with 4256 // empty or default values are omitted from API requests. However, any 4257 // non-pointer, non-interface field appearing in ForceSendFields will be 4258 // sent to the server regardless of whether the field is empty or not. 4259 // This may be used to include empty fields in Patch requests. 4260 ForceSendFields []string `json:"-"` 4261 4262 // NullFields is a list of field names (e.g. "NormalizedVertices") to 4263 // include in API requests with the JSON null value. By default, fields 4264 // with empty values are omitted from API requests. However, any field 4265 // with an empty value appearing in NullFields will be sent to the 4266 // server as null. It is an error if a field in this list has a 4267 // non-empty value. This may be used to include null fields in Patch 4268 // requests. 4269 NullFields []string `json:"-"` 4270} 4271 4272func (s *GoogleCloudVisionV1p2beta1BoundingPoly) MarshalJSON() ([]byte, error) { 4273 type NoMethod GoogleCloudVisionV1p2beta1BoundingPoly 4274 raw := NoMethod(*s) 4275 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4276} 4277 4278// GoogleCloudVisionV1p2beta1ColorInfo: Color information consists of 4279// RGB channels, score, and the fraction of the image that the color 4280// occupies in the image. 4281type GoogleCloudVisionV1p2beta1ColorInfo struct { 4282 // Color: RGB components of the color. 4283 Color *Color `json:"color,omitempty"` 4284 4285 // PixelFraction: The fraction of pixels the color occupies in the 4286 // image. Value in range [0, 1]. 4287 PixelFraction float64 `json:"pixelFraction,omitempty"` 4288 4289 // Score: Image-specific score for this color. Value in range [0, 1]. 4290 Score float64 `json:"score,omitempty"` 4291 4292 // ForceSendFields is a list of field names (e.g. "Color") to 4293 // unconditionally include in API requests. By default, fields with 4294 // empty or default values are omitted from API requests. However, any 4295 // non-pointer, non-interface field appearing in ForceSendFields will be 4296 // sent to the server regardless of whether the field is empty or not. 4297 // This may be used to include empty fields in Patch requests. 4298 ForceSendFields []string `json:"-"` 4299 4300 // NullFields is a list of field names (e.g. "Color") to include in API 4301 // requests with the JSON null value. By default, fields with empty 4302 // values are omitted from API requests. However, any field with an 4303 // empty value appearing in NullFields will be sent to the server as 4304 // null. It is an error if a field in this list has a non-empty value. 4305 // This may be used to include null fields in Patch requests. 4306 NullFields []string `json:"-"` 4307} 4308 4309func (s *GoogleCloudVisionV1p2beta1ColorInfo) MarshalJSON() ([]byte, error) { 4310 type NoMethod GoogleCloudVisionV1p2beta1ColorInfo 4311 raw := NoMethod(*s) 4312 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4313} 4314 4315func (s *GoogleCloudVisionV1p2beta1ColorInfo) UnmarshalJSON(data []byte) error { 4316 type NoMethod GoogleCloudVisionV1p2beta1ColorInfo 4317 var s1 struct { 4318 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 4319 Score gensupport.JSONFloat64 `json:"score"` 4320 *NoMethod 4321 } 4322 s1.NoMethod = (*NoMethod)(s) 4323 if err := json.Unmarshal(data, &s1); err != nil { 4324 return err 4325 } 4326 s.PixelFraction = float64(s1.PixelFraction) 4327 s.Score = float64(s1.Score) 4328 return nil 4329} 4330 4331// GoogleCloudVisionV1p2beta1CropHint: Single crop hint that is used to 4332// generate a new crop when serving an image. 4333type GoogleCloudVisionV1p2beta1CropHint struct { 4334 // BoundingPoly: The bounding polygon for the crop region. The 4335 // coordinates of the bounding box are in the original image's scale. 4336 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 4337 4338 // Confidence: Confidence of this being a salient region. Range [0, 1]. 4339 Confidence float64 `json:"confidence,omitempty"` 4340 4341 // ImportanceFraction: Fraction of importance of this salient region 4342 // with respect to the original image. 4343 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 4344 4345 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 4346 // unconditionally include in API requests. By default, fields with 4347 // empty or default values are omitted from API requests. However, any 4348 // non-pointer, non-interface field appearing in ForceSendFields will be 4349 // sent to the server regardless of whether the field is empty or not. 4350 // This may be used to include empty fields in Patch requests. 4351 ForceSendFields []string `json:"-"` 4352 4353 // NullFields is a list of field names (e.g. "BoundingPoly") to include 4354 // in API requests with the JSON null value. By default, fields with 4355 // empty values are omitted from API requests. However, any field with 4356 // an empty value appearing in NullFields will be sent to the server as 4357 // null. It is an error if a field in this list has a non-empty value. 4358 // This may be used to include null fields in Patch requests. 4359 NullFields []string `json:"-"` 4360} 4361 4362func (s *GoogleCloudVisionV1p2beta1CropHint) MarshalJSON() ([]byte, error) { 4363 type NoMethod GoogleCloudVisionV1p2beta1CropHint 4364 raw := NoMethod(*s) 4365 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4366} 4367 4368func (s *GoogleCloudVisionV1p2beta1CropHint) UnmarshalJSON(data []byte) error { 4369 type NoMethod GoogleCloudVisionV1p2beta1CropHint 4370 var s1 struct { 4371 Confidence gensupport.JSONFloat64 `json:"confidence"` 4372 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 4373 *NoMethod 4374 } 4375 s1.NoMethod = (*NoMethod)(s) 4376 if err := json.Unmarshal(data, &s1); err != nil { 4377 return err 4378 } 4379 s.Confidence = float64(s1.Confidence) 4380 s.ImportanceFraction = float64(s1.ImportanceFraction) 4381 return nil 4382} 4383 4384// GoogleCloudVisionV1p2beta1CropHintsAnnotation: Set of crop hints that 4385// are used to generate new crops when serving images. 4386type GoogleCloudVisionV1p2beta1CropHintsAnnotation struct { 4387 // CropHints: Crop hint results. 4388 CropHints []*GoogleCloudVisionV1p2beta1CropHint `json:"cropHints,omitempty"` 4389 4390 // ForceSendFields is a list of field names (e.g. "CropHints") to 4391 // unconditionally include in API requests. By default, fields with 4392 // empty or default values are omitted from API requests. However, any 4393 // non-pointer, non-interface field appearing in ForceSendFields will be 4394 // sent to the server regardless of whether the field is empty or not. 4395 // This may be used to include empty fields in Patch requests. 4396 ForceSendFields []string `json:"-"` 4397 4398 // NullFields is a list of field names (e.g. "CropHints") to include in 4399 // API requests with the JSON null value. By default, fields with empty 4400 // values are omitted from API requests. However, any field with an 4401 // empty value appearing in NullFields will be sent to the server as 4402 // null. It is an error if a field in this list has a non-empty value. 4403 // This may be used to include null fields in Patch requests. 4404 NullFields []string `json:"-"` 4405} 4406 4407func (s *GoogleCloudVisionV1p2beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 4408 type NoMethod GoogleCloudVisionV1p2beta1CropHintsAnnotation 4409 raw := NoMethod(*s) 4410 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4411} 4412 4413// GoogleCloudVisionV1p2beta1CropHintsParams: Parameters for crop hints 4414// annotation request. 4415type GoogleCloudVisionV1p2beta1CropHintsParams struct { 4416 // AspectRatios: Aspect ratios in floats, representing the ratio of the 4417 // width to the height of the image. For example, if the desired aspect 4418 // ratio is 4/3, the corresponding float value should be 1.33333. If not 4419 // specified, the best possible crop is returned. The number of provided 4420 // aspect ratios is limited to a maximum of 16; any aspect ratios 4421 // provided after the 16th are ignored. 4422 AspectRatios []float64 `json:"aspectRatios,omitempty"` 4423 4424 // ForceSendFields is a list of field names (e.g. "AspectRatios") to 4425 // unconditionally include in API requests. By default, fields with 4426 // empty or default values are omitted from API requests. However, any 4427 // non-pointer, non-interface field appearing in ForceSendFields will be 4428 // sent to the server regardless of whether the field is empty or not. 4429 // This may be used to include empty fields in Patch requests. 4430 ForceSendFields []string `json:"-"` 4431 4432 // NullFields is a list of field names (e.g. "AspectRatios") to include 4433 // in API requests with the JSON null value. By default, fields with 4434 // empty values are omitted from API requests. However, any field with 4435 // an empty value appearing in NullFields will be sent to the server as 4436 // null. It is an error if a field in this list has a non-empty value. 4437 // This may be used to include null fields in Patch requests. 4438 NullFields []string `json:"-"` 4439} 4440 4441func (s *GoogleCloudVisionV1p2beta1CropHintsParams) MarshalJSON() ([]byte, error) { 4442 type NoMethod GoogleCloudVisionV1p2beta1CropHintsParams 4443 raw := NoMethod(*s) 4444 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4445} 4446 4447// GoogleCloudVisionV1p2beta1DominantColorsAnnotation: Set of dominant 4448// colors and their corresponding scores. 4449type GoogleCloudVisionV1p2beta1DominantColorsAnnotation struct { 4450 // Colors: RGB color values with their score and pixel fraction. 4451 Colors []*GoogleCloudVisionV1p2beta1ColorInfo `json:"colors,omitempty"` 4452 4453 // ForceSendFields is a list of field names (e.g. "Colors") to 4454 // unconditionally include in API requests. By default, fields with 4455 // empty or default values are omitted from API requests. However, any 4456 // non-pointer, non-interface field appearing in ForceSendFields will be 4457 // sent to the server regardless of whether the field is empty or not. 4458 // This may be used to include empty fields in Patch requests. 4459 ForceSendFields []string `json:"-"` 4460 4461 // NullFields is a list of field names (e.g. "Colors") to include in API 4462 // requests with the JSON null value. By default, fields with empty 4463 // values are omitted from API requests. However, any field with an 4464 // empty value appearing in NullFields will be sent to the server as 4465 // null. It is an error if a field in this list has a non-empty value. 4466 // This may be used to include null fields in Patch requests. 4467 NullFields []string `json:"-"` 4468} 4469 4470func (s *GoogleCloudVisionV1p2beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 4471 type NoMethod GoogleCloudVisionV1p2beta1DominantColorsAnnotation 4472 raw := NoMethod(*s) 4473 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4474} 4475 4476// GoogleCloudVisionV1p2beta1EntityAnnotation: Set of detected entity 4477// features. 4478type GoogleCloudVisionV1p2beta1EntityAnnotation struct { 4479 // BoundingPoly: Image region to which this entity belongs. Not produced 4480 // for `LABEL_DETECTION` features. 4481 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 4482 4483 // Confidence: **Deprecated. Use `score` instead.** The accuracy of the 4484 // entity detection in an image. For example, for an image in which the 4485 // "Eiffel Tower" entity is detected, this field represents the 4486 // confidence that there is a tower in the query image. Range [0, 1]. 4487 Confidence float64 `json:"confidence,omitempty"` 4488 4489 // Description: Entity textual description, expressed in its `locale` 4490 // language. 4491 Description string `json:"description,omitempty"` 4492 4493 // Locale: The language code for the locale in which the entity textual 4494 // `description` is expressed. 4495 Locale string `json:"locale,omitempty"` 4496 4497 // Locations: The location information for the detected entity. Multiple 4498 // `LocationInfo` elements can be present because one location may 4499 // indicate the location of the scene in the image, and another location 4500 // may indicate the location of the place where the image was taken. 4501 // Location information is usually present for landmarks. 4502 Locations []*GoogleCloudVisionV1p2beta1LocationInfo `json:"locations,omitempty"` 4503 4504 // Mid: Opaque entity ID. Some IDs may be available in Google Knowledge 4505 // Graph Search API (https://developers.google.com/knowledge-graph/). 4506 Mid string `json:"mid,omitempty"` 4507 4508 // Properties: Some entities may have optional user-supplied `Property` 4509 // (name/value) fields, such a score or string that qualifies the 4510 // entity. 4511 Properties []*GoogleCloudVisionV1p2beta1Property `json:"properties,omitempty"` 4512 4513 // Score: Overall score of the result. Range [0, 1]. 4514 Score float64 `json:"score,omitempty"` 4515 4516 // Topicality: The relevancy of the ICA (Image Content Annotation) label 4517 // to the image. For example, the relevancy of "tower" is likely higher 4518 // to an image containing the detected "Eiffel Tower" than to an image 4519 // containing a detected distant towering building, even though the 4520 // confidence that there is a tower in each image may be the same. Range 4521 // [0, 1]. 4522 Topicality float64 `json:"topicality,omitempty"` 4523 4524 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 4525 // unconditionally include in API requests. By default, fields with 4526 // empty or default values are omitted from API requests. However, any 4527 // non-pointer, non-interface field appearing in ForceSendFields will be 4528 // sent to the server regardless of whether the field is empty or not. 4529 // This may be used to include empty fields in Patch requests. 4530 ForceSendFields []string `json:"-"` 4531 4532 // NullFields is a list of field names (e.g. "BoundingPoly") to include 4533 // in API requests with the JSON null value. By default, fields with 4534 // empty values are omitted from API requests. However, any field with 4535 // an empty value appearing in NullFields will be sent to the server as 4536 // null. It is an error if a field in this list has a non-empty value. 4537 // This may be used to include null fields in Patch requests. 4538 NullFields []string `json:"-"` 4539} 4540 4541func (s *GoogleCloudVisionV1p2beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 4542 type NoMethod GoogleCloudVisionV1p2beta1EntityAnnotation 4543 raw := NoMethod(*s) 4544 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4545} 4546 4547func (s *GoogleCloudVisionV1p2beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 4548 type NoMethod GoogleCloudVisionV1p2beta1EntityAnnotation 4549 var s1 struct { 4550 Confidence gensupport.JSONFloat64 `json:"confidence"` 4551 Score gensupport.JSONFloat64 `json:"score"` 4552 Topicality gensupport.JSONFloat64 `json:"topicality"` 4553 *NoMethod 4554 } 4555 s1.NoMethod = (*NoMethod)(s) 4556 if err := json.Unmarshal(data, &s1); err != nil { 4557 return err 4558 } 4559 s.Confidence = float64(s1.Confidence) 4560 s.Score = float64(s1.Score) 4561 s.Topicality = float64(s1.Topicality) 4562 return nil 4563} 4564 4565// GoogleCloudVisionV1p2beta1FaceAnnotation: A face annotation object 4566// contains the results of face detection. 4567type GoogleCloudVisionV1p2beta1FaceAnnotation struct { 4568 // AngerLikelihood: Anger likelihood. 4569 // 4570 // Possible values: 4571 // "UNKNOWN" - Unknown likelihood. 4572 // "VERY_UNLIKELY" - It is very unlikely. 4573 // "UNLIKELY" - It is unlikely. 4574 // "POSSIBLE" - It is possible. 4575 // "LIKELY" - It is likely. 4576 // "VERY_LIKELY" - It is very likely. 4577 AngerLikelihood string `json:"angerLikelihood,omitempty"` 4578 4579 // BlurredLikelihood: Blurred likelihood. 4580 // 4581 // Possible values: 4582 // "UNKNOWN" - Unknown likelihood. 4583 // "VERY_UNLIKELY" - It is very unlikely. 4584 // "UNLIKELY" - It is unlikely. 4585 // "POSSIBLE" - It is possible. 4586 // "LIKELY" - It is likely. 4587 // "VERY_LIKELY" - It is very likely. 4588 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 4589 4590 // BoundingPoly: The bounding polygon around the face. The coordinates 4591 // of the bounding box are in the original image's scale. The bounding 4592 // box is computed to "frame" the face in accordance with human 4593 // expectations. It is based on the landmarker results. Note that one or 4594 // more x and/or y coordinates may not be generated in the 4595 // `BoundingPoly` (the polygon will be unbounded) if only a partial face 4596 // appears in the image to be annotated. 4597 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 4598 4599 // DetectionConfidence: Detection confidence. Range [0, 1]. 4600 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 4601 4602 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 4603 // than the `boundingPoly`, and encloses only the skin part of the face. 4604 // Typically, it is used to eliminate the face from any image analysis 4605 // that detects the "amount of skin" visible in an image. It is not 4606 // based on the landmarker results, only on the initial face detection, 4607 // hence the fd (face detection) prefix. 4608 FdBoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 4609 4610 // HeadwearLikelihood: Headwear likelihood. 4611 // 4612 // Possible values: 4613 // "UNKNOWN" - Unknown likelihood. 4614 // "VERY_UNLIKELY" - It is very unlikely. 4615 // "UNLIKELY" - It is unlikely. 4616 // "POSSIBLE" - It is possible. 4617 // "LIKELY" - It is likely. 4618 // "VERY_LIKELY" - It is very likely. 4619 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 4620 4621 // JoyLikelihood: Joy likelihood. 4622 // 4623 // Possible values: 4624 // "UNKNOWN" - Unknown likelihood. 4625 // "VERY_UNLIKELY" - It is very unlikely. 4626 // "UNLIKELY" - It is unlikely. 4627 // "POSSIBLE" - It is possible. 4628 // "LIKELY" - It is likely. 4629 // "VERY_LIKELY" - It is very likely. 4630 JoyLikelihood string `json:"joyLikelihood,omitempty"` 4631 4632 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 4633 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 4634 4635 // Landmarks: Detected face landmarks. 4636 Landmarks []*GoogleCloudVisionV1p2beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 4637 4638 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 4639 // that the face is pointing relative to the vertical plane 4640 // perpendicular to the image. Range [-180,180]. 4641 PanAngle float64 `json:"panAngle,omitempty"` 4642 4643 // RollAngle: Roll angle, which indicates the amount of 4644 // clockwise/anti-clockwise rotation of the face relative to the image 4645 // vertical about the axis perpendicular to the face. Range [-180,180]. 4646 RollAngle float64 `json:"rollAngle,omitempty"` 4647 4648 // SorrowLikelihood: Sorrow likelihood. 4649 // 4650 // Possible values: 4651 // "UNKNOWN" - Unknown likelihood. 4652 // "VERY_UNLIKELY" - It is very unlikely. 4653 // "UNLIKELY" - It is unlikely. 4654 // "POSSIBLE" - It is possible. 4655 // "LIKELY" - It is likely. 4656 // "VERY_LIKELY" - It is very likely. 4657 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 4658 4659 // SurpriseLikelihood: Surprise likelihood. 4660 // 4661 // Possible values: 4662 // "UNKNOWN" - Unknown likelihood. 4663 // "VERY_UNLIKELY" - It is very unlikely. 4664 // "UNLIKELY" - It is unlikely. 4665 // "POSSIBLE" - It is possible. 4666 // "LIKELY" - It is likely. 4667 // "VERY_LIKELY" - It is very likely. 4668 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 4669 4670 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 4671 // that the face is pointing relative to the image's horizontal plane. 4672 // Range [-180,180]. 4673 TiltAngle float64 `json:"tiltAngle,omitempty"` 4674 4675 // UnderExposedLikelihood: Under-exposed likelihood. 4676 // 4677 // Possible values: 4678 // "UNKNOWN" - Unknown likelihood. 4679 // "VERY_UNLIKELY" - It is very unlikely. 4680 // "UNLIKELY" - It is unlikely. 4681 // "POSSIBLE" - It is possible. 4682 // "LIKELY" - It is likely. 4683 // "VERY_LIKELY" - It is very likely. 4684 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 4685 4686 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 4687 // unconditionally include in API requests. By default, fields with 4688 // empty or default values are omitted from API requests. However, any 4689 // non-pointer, non-interface field appearing in ForceSendFields will be 4690 // sent to the server regardless of whether the field is empty or not. 4691 // This may be used to include empty fields in Patch requests. 4692 ForceSendFields []string `json:"-"` 4693 4694 // NullFields is a list of field names (e.g. "AngerLikelihood") to 4695 // include in API requests with the JSON null value. By default, fields 4696 // with empty values are omitted from API requests. However, any field 4697 // with an empty value appearing in NullFields will be sent to the 4698 // server as null. It is an error if a field in this list has a 4699 // non-empty value. This may be used to include null fields in Patch 4700 // requests. 4701 NullFields []string `json:"-"` 4702} 4703 4704func (s *GoogleCloudVisionV1p2beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 4705 type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotation 4706 raw := NoMethod(*s) 4707 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4708} 4709 4710func (s *GoogleCloudVisionV1p2beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 4711 type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotation 4712 var s1 struct { 4713 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 4714 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 4715 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 4716 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 4717 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 4718 *NoMethod 4719 } 4720 s1.NoMethod = (*NoMethod)(s) 4721 if err := json.Unmarshal(data, &s1); err != nil { 4722 return err 4723 } 4724 s.DetectionConfidence = float64(s1.DetectionConfidence) 4725 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 4726 s.PanAngle = float64(s1.PanAngle) 4727 s.RollAngle = float64(s1.RollAngle) 4728 s.TiltAngle = float64(s1.TiltAngle) 4729 return nil 4730} 4731 4732// GoogleCloudVisionV1p2beta1FaceAnnotationLandmark: A face-specific 4733// landmark (for example, a face feature). 4734type GoogleCloudVisionV1p2beta1FaceAnnotationLandmark struct { 4735 // Position: Face landmark position. 4736 Position *GoogleCloudVisionV1p2beta1Position `json:"position,omitempty"` 4737 4738 // Type: Face landmark type. 4739 // 4740 // Possible values: 4741 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 4742 // filled. 4743 // "LEFT_EYE" - Left eye. 4744 // "RIGHT_EYE" - Right eye. 4745 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 4746 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 4747 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 4748 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 4749 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 4750 // "NOSE_TIP" - Nose tip. 4751 // "UPPER_LIP" - Upper lip. 4752 // "LOWER_LIP" - Lower lip. 4753 // "MOUTH_LEFT" - Mouth left. 4754 // "MOUTH_RIGHT" - Mouth right. 4755 // "MOUTH_CENTER" - Mouth center. 4756 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 4757 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 4758 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 4759 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 4760 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 4761 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 4762 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 4763 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 4764 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 4765 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 4766 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 4767 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 4768 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 4769 // "LEFT_EAR_TRAGION" - Left ear tragion. 4770 // "RIGHT_EAR_TRAGION" - Right ear tragion. 4771 // "LEFT_EYE_PUPIL" - Left eye pupil. 4772 // "RIGHT_EYE_PUPIL" - Right eye pupil. 4773 // "FOREHEAD_GLABELLA" - Forehead glabella. 4774 // "CHIN_GNATHION" - Chin gnathion. 4775 // "CHIN_LEFT_GONION" - Chin left gonion. 4776 // "CHIN_RIGHT_GONION" - Chin right gonion. 4777 // "LEFT_CHEEK_CENTER" - Left cheek center. 4778 // "RIGHT_CHEEK_CENTER" - Right cheek center. 4779 Type string `json:"type,omitempty"` 4780 4781 // ForceSendFields is a list of field names (e.g. "Position") to 4782 // unconditionally include in API requests. By default, fields with 4783 // empty or default values are omitted from API requests. However, any 4784 // non-pointer, non-interface field appearing in ForceSendFields will be 4785 // sent to the server regardless of whether the field is empty or not. 4786 // This may be used to include empty fields in Patch requests. 4787 ForceSendFields []string `json:"-"` 4788 4789 // NullFields is a list of field names (e.g. "Position") to include in 4790 // API requests with the JSON null value. By default, fields with empty 4791 // values are omitted from API requests. However, any field with an 4792 // empty value appearing in NullFields will be sent to the server as 4793 // null. It is an error if a field in this list has a non-empty value. 4794 // This may be used to include null fields in Patch requests. 4795 NullFields []string `json:"-"` 4796} 4797 4798func (s *GoogleCloudVisionV1p2beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 4799 type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotationLandmark 4800 raw := NoMethod(*s) 4801 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4802} 4803 4804// GoogleCloudVisionV1p2beta1Feature: The type of Google Cloud Vision 4805// API detection to perform, and the maximum number of results to return 4806// for that type. Multiple `Feature` objects can be specified in the 4807// `features` list. 4808type GoogleCloudVisionV1p2beta1Feature struct { 4809 // MaxResults: Maximum number of results of this type. Does not apply to 4810 // `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. 4811 MaxResults int64 `json:"maxResults,omitempty"` 4812 4813 // Model: Model to use for the feature. Supported values: 4814 // "builtin/stable" (the default if unset) and "builtin/latest". 4815 Model string `json:"model,omitempty"` 4816 4817 // Type: The feature type. 4818 // 4819 // Possible values: 4820 // "TYPE_UNSPECIFIED" - Unspecified feature type. 4821 // "FACE_DETECTION" - Run face detection. 4822 // "LANDMARK_DETECTION" - Run landmark detection. 4823 // "LOGO_DETECTION" - Run logo detection. 4824 // "LABEL_DETECTION" - Run label detection. 4825 // "TEXT_DETECTION" - Run text detection / optical character 4826 // recognition (OCR). Text detection is optimized for areas of text 4827 // within a larger image; if the image is a document, use 4828 // `DOCUMENT_TEXT_DETECTION` instead. 4829 // "DOCUMENT_TEXT_DETECTION" - Run dense text document OCR. Takes 4830 // precedence when both `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` 4831 // are present. 4832 // "SAFE_SEARCH_DETECTION" - Run Safe Search to detect potentially 4833 // unsafe or undesirable content. 4834 // "IMAGE_PROPERTIES" - Compute a set of image properties, such as the 4835 // image's dominant colors. 4836 // "CROP_HINTS" - Run crop hints. 4837 // "WEB_DETECTION" - Run web detection. 4838 // "PRODUCT_SEARCH" - Run Product Search. 4839 // "OBJECT_LOCALIZATION" - Run localizer for object detection. 4840 Type string `json:"type,omitempty"` 4841 4842 // ForceSendFields is a list of field names (e.g. "MaxResults") to 4843 // unconditionally include in API requests. By default, fields with 4844 // empty or default values are omitted from API requests. However, any 4845 // non-pointer, non-interface field appearing in ForceSendFields will be 4846 // sent to the server regardless of whether the field is empty or not. 4847 // This may be used to include empty fields in Patch requests. 4848 ForceSendFields []string `json:"-"` 4849 4850 // NullFields is a list of field names (e.g. "MaxResults") to include in 4851 // API requests with the JSON null value. By default, fields with empty 4852 // values are omitted from API requests. However, any field with an 4853 // empty value appearing in NullFields will be sent to the server as 4854 // null. It is an error if a field in this list has a non-empty value. 4855 // This may be used to include null fields in Patch requests. 4856 NullFields []string `json:"-"` 4857} 4858 4859func (s *GoogleCloudVisionV1p2beta1Feature) MarshalJSON() ([]byte, error) { 4860 type NoMethod GoogleCloudVisionV1p2beta1Feature 4861 raw := NoMethod(*s) 4862 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4863} 4864 4865// GoogleCloudVisionV1p2beta1GcsDestination: The Google Cloud Storage 4866// location where the output will be written to. 4867type GoogleCloudVisionV1p2beta1GcsDestination struct { 4868 // Uri: Google Cloud Storage URI prefix where the results will be 4869 // stored. Results will be in JSON format and preceded by its 4870 // corresponding input URI prefix. This field can either represent a gcs 4871 // file prefix or gcs directory. In either case, the uri should be 4872 // unique because in order to get all of the output files, you will need 4873 // to do a wildcard gcs search on the uri prefix you provide. Examples: 4874 // * File Prefix: gs://bucket-name/here/filenameprefix The output files 4875 // will be created in gs://bucket-name/here/ and the names of the output 4876 // files will begin with "filenameprefix". * Directory Prefix: 4877 // gs://bucket-name/some/location/ The output files will be created in 4878 // gs://bucket-name/some/location/ and the names of the output files 4879 // could be anything because there was no filename prefix specified. If 4880 // multiple outputs, each response is still AnnotateFileResponse, each 4881 // of which contains some subset of the full list of 4882 // AnnotateImageResponse. Multiple outputs can happen if, for example, 4883 // the output JSON is too large and overflows into multiple sharded 4884 // files. 4885 Uri string `json:"uri,omitempty"` 4886 4887 // ForceSendFields is a list of field names (e.g. "Uri") to 4888 // unconditionally include in API requests. By default, fields with 4889 // empty or default values are omitted from API requests. However, any 4890 // non-pointer, non-interface field appearing in ForceSendFields will be 4891 // sent to the server regardless of whether the field is empty or not. 4892 // This may be used to include empty fields in Patch requests. 4893 ForceSendFields []string `json:"-"` 4894 4895 // NullFields is a list of field names (e.g. "Uri") to include in API 4896 // requests with the JSON null value. By default, fields with empty 4897 // values are omitted from API requests. However, any field with an 4898 // empty value appearing in NullFields will be sent to the server as 4899 // null. It is an error if a field in this list has a non-empty value. 4900 // This may be used to include null fields in Patch requests. 4901 NullFields []string `json:"-"` 4902} 4903 4904func (s *GoogleCloudVisionV1p2beta1GcsDestination) MarshalJSON() ([]byte, error) { 4905 type NoMethod GoogleCloudVisionV1p2beta1GcsDestination 4906 raw := NoMethod(*s) 4907 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4908} 4909 4910// GoogleCloudVisionV1p2beta1GcsSource: The Google Cloud Storage 4911// location where the input will be read from. 4912type GoogleCloudVisionV1p2beta1GcsSource struct { 4913 // Uri: Google Cloud Storage URI for the input file. This must only be a 4914 // Google Cloud Storage object. Wildcards are not currently supported. 4915 Uri string `json:"uri,omitempty"` 4916 4917 // ForceSendFields is a list of field names (e.g. "Uri") to 4918 // unconditionally include in API requests. By default, fields with 4919 // empty or default values are omitted from API requests. However, any 4920 // non-pointer, non-interface field appearing in ForceSendFields will be 4921 // sent to the server regardless of whether the field is empty or not. 4922 // This may be used to include empty fields in Patch requests. 4923 ForceSendFields []string `json:"-"` 4924 4925 // NullFields is a list of field names (e.g. "Uri") to include in API 4926 // requests with the JSON null value. By default, fields with empty 4927 // values are omitted from API requests. However, any field with an 4928 // empty value appearing in NullFields will be sent to the server as 4929 // null. It is an error if a field in this list has a non-empty value. 4930 // This may be used to include null fields in Patch requests. 4931 NullFields []string `json:"-"` 4932} 4933 4934func (s *GoogleCloudVisionV1p2beta1GcsSource) MarshalJSON() ([]byte, error) { 4935 type NoMethod GoogleCloudVisionV1p2beta1GcsSource 4936 raw := NoMethod(*s) 4937 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4938} 4939 4940// GoogleCloudVisionV1p2beta1Image: Client image to perform Google Cloud 4941// Vision API tasks over. 4942type GoogleCloudVisionV1p2beta1Image struct { 4943 // Content: Image content, represented as a stream of bytes. Note: As 4944 // with all `bytes` fields, protobuffers use a pure binary 4945 // representation, whereas JSON representations use base64. Currently, 4946 // this field only works for BatchAnnotateImages requests. It does not 4947 // work for AsyncBatchAnnotateImages requests. 4948 Content string `json:"content,omitempty"` 4949 4950 // Source: Google Cloud Storage image location, or publicly-accessible 4951 // image URL. If both `content` and `source` are provided for an image, 4952 // `content` takes precedence and is used to perform the image 4953 // annotation request. 4954 Source *GoogleCloudVisionV1p2beta1ImageSource `json:"source,omitempty"` 4955 4956 // ForceSendFields is a list of field names (e.g. "Content") to 4957 // unconditionally include in API requests. By default, fields with 4958 // empty or default values are omitted from API requests. However, any 4959 // non-pointer, non-interface field appearing in ForceSendFields will be 4960 // sent to the server regardless of whether the field is empty or not. 4961 // This may be used to include empty fields in Patch requests. 4962 ForceSendFields []string `json:"-"` 4963 4964 // NullFields is a list of field names (e.g. "Content") to include in 4965 // API requests with the JSON null value. By default, fields with empty 4966 // values are omitted from API requests. However, any field with an 4967 // empty value appearing in NullFields will be sent to the server as 4968 // null. It is an error if a field in this list has a non-empty value. 4969 // This may be used to include null fields in Patch requests. 4970 NullFields []string `json:"-"` 4971} 4972 4973func (s *GoogleCloudVisionV1p2beta1Image) MarshalJSON() ([]byte, error) { 4974 type NoMethod GoogleCloudVisionV1p2beta1Image 4975 raw := NoMethod(*s) 4976 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4977} 4978 4979// GoogleCloudVisionV1p2beta1ImageAnnotationContext: If an image was 4980// produced from a file (e.g. a PDF), this message gives information 4981// about the source of that image. 4982type GoogleCloudVisionV1p2beta1ImageAnnotationContext struct { 4983 // PageNumber: If the file was a PDF or TIFF, this field gives the page 4984 // number within the file used to produce the image. 4985 PageNumber int64 `json:"pageNumber,omitempty"` 4986 4987 // Uri: The URI of the file used to produce the image. 4988 Uri string `json:"uri,omitempty"` 4989 4990 // ForceSendFields is a list of field names (e.g. "PageNumber") to 4991 // unconditionally include in API requests. By default, fields with 4992 // empty or default values are omitted from API requests. However, any 4993 // non-pointer, non-interface field appearing in ForceSendFields will be 4994 // sent to the server regardless of whether the field is empty or not. 4995 // This may be used to include empty fields in Patch requests. 4996 ForceSendFields []string `json:"-"` 4997 4998 // NullFields is a list of field names (e.g. "PageNumber") to include in 4999 // API requests with the JSON null value. By default, fields with empty 5000 // values are omitted from API requests. However, any field with an 5001 // empty value appearing in NullFields will be sent to the server as 5002 // null. It is an error if a field in this list has a non-empty value. 5003 // This may be used to include null fields in Patch requests. 5004 NullFields []string `json:"-"` 5005} 5006 5007func (s *GoogleCloudVisionV1p2beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 5008 type NoMethod GoogleCloudVisionV1p2beta1ImageAnnotationContext 5009 raw := NoMethod(*s) 5010 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5011} 5012 5013// GoogleCloudVisionV1p2beta1ImageContext: Image context and/or 5014// feature-specific parameters. 5015type GoogleCloudVisionV1p2beta1ImageContext struct { 5016 // CropHintsParams: Parameters for crop hints annotation request. 5017 CropHintsParams *GoogleCloudVisionV1p2beta1CropHintsParams `json:"cropHintsParams,omitempty"` 5018 5019 // LanguageHints: List of languages to use for TEXT_DETECTION. In most 5020 // cases, an empty value yields the best results since it enables 5021 // automatic language detection. For languages based on the Latin 5022 // alphabet, setting `language_hints` is not needed. In rare cases, when 5023 // the language of the text in the image is known, setting a hint will 5024 // help get better results (although it will be a significant hindrance 5025 // if the hint is wrong). Text detection returns an error if one or more 5026 // of the specified languages is not one of the supported languages 5027 // (https://cloud.google.com/vision/docs/languages). 5028 LanguageHints []string `json:"languageHints,omitempty"` 5029 5030 // LatLongRect: Not used. 5031 LatLongRect *GoogleCloudVisionV1p2beta1LatLongRect `json:"latLongRect,omitempty"` 5032 5033 // ProductSearchParams: Parameters for product search. 5034 ProductSearchParams *GoogleCloudVisionV1p2beta1ProductSearchParams `json:"productSearchParams,omitempty"` 5035 5036 // TextDetectionParams: Parameters for text detection and document text 5037 // detection. 5038 TextDetectionParams *GoogleCloudVisionV1p2beta1TextDetectionParams `json:"textDetectionParams,omitempty"` 5039 5040 // WebDetectionParams: Parameters for web detection. 5041 WebDetectionParams *GoogleCloudVisionV1p2beta1WebDetectionParams `json:"webDetectionParams,omitempty"` 5042 5043 // ForceSendFields is a list of field names (e.g. "CropHintsParams") to 5044 // unconditionally include in API requests. By default, fields with 5045 // empty or default values are omitted from API requests. However, any 5046 // non-pointer, non-interface field appearing in ForceSendFields will be 5047 // sent to the server regardless of whether the field is empty or not. 5048 // This may be used to include empty fields in Patch requests. 5049 ForceSendFields []string `json:"-"` 5050 5051 // NullFields is a list of field names (e.g. "CropHintsParams") to 5052 // include in API requests with the JSON null value. By default, fields 5053 // with empty values are omitted from API requests. However, any field 5054 // with an empty value appearing in NullFields will be sent to the 5055 // server as null. It is an error if a field in this list has a 5056 // non-empty value. This may be used to include null fields in Patch 5057 // requests. 5058 NullFields []string `json:"-"` 5059} 5060 5061func (s *GoogleCloudVisionV1p2beta1ImageContext) MarshalJSON() ([]byte, error) { 5062 type NoMethod GoogleCloudVisionV1p2beta1ImageContext 5063 raw := NoMethod(*s) 5064 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5065} 5066 5067// GoogleCloudVisionV1p2beta1ImageProperties: Stores image properties, 5068// such as dominant colors. 5069type GoogleCloudVisionV1p2beta1ImageProperties struct { 5070 // DominantColors: If present, dominant colors completed successfully. 5071 DominantColors *GoogleCloudVisionV1p2beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 5072 5073 // ForceSendFields is a list of field names (e.g. "DominantColors") to 5074 // unconditionally include in API requests. By default, fields with 5075 // empty or default values are omitted from API requests. However, any 5076 // non-pointer, non-interface field appearing in ForceSendFields will be 5077 // sent to the server regardless of whether the field is empty or not. 5078 // This may be used to include empty fields in Patch requests. 5079 ForceSendFields []string `json:"-"` 5080 5081 // NullFields is a list of field names (e.g. "DominantColors") to 5082 // include in API requests with the JSON null value. By default, fields 5083 // with empty values are omitted from API requests. However, any field 5084 // with an empty value appearing in NullFields will be sent to the 5085 // server as null. It is an error if a field in this list has a 5086 // non-empty value. This may be used to include null fields in Patch 5087 // requests. 5088 NullFields []string `json:"-"` 5089} 5090 5091func (s *GoogleCloudVisionV1p2beta1ImageProperties) MarshalJSON() ([]byte, error) { 5092 type NoMethod GoogleCloudVisionV1p2beta1ImageProperties 5093 raw := NoMethod(*s) 5094 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5095} 5096 5097// GoogleCloudVisionV1p2beta1ImageSource: External image source (Google 5098// Cloud Storage or web URL image location). 5099type GoogleCloudVisionV1p2beta1ImageSource struct { 5100 // GcsImageUri: **Use `image_uri` instead.** The Google Cloud Storage 5101 // URI of the form `gs://bucket_name/object_name`. Object versioning is 5102 // not supported. See Google Cloud Storage Request URIs 5103 // (https://cloud.google.com/storage/docs/reference-uris) for more info. 5104 GcsImageUri string `json:"gcsImageUri,omitempty"` 5105 5106 // ImageUri: The URI of the source image. Can be either: 1. A Google 5107 // Cloud Storage URI of the form `gs://bucket_name/object_name`. Object 5108 // versioning is not supported. See Google Cloud Storage Request URIs 5109 // (https://cloud.google.com/storage/docs/reference-uris) for more info. 5110 // 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images 5111 // from HTTP/HTTPS URLs, Google cannot guarantee that the request will 5112 // be completed. Your request may fail if the specified host denies the 5113 // request (e.g. due to request throttling or DOS prevention), or if 5114 // Google throttles requests to the site for abuse prevention. You 5115 // should not depend on externally-hosted images for production 5116 // applications. When both `gcs_image_uri` and `image_uri` are 5117 // specified, `image_uri` takes precedence. 5118 ImageUri string `json:"imageUri,omitempty"` 5119 5120 // ForceSendFields is a list of field names (e.g. "GcsImageUri") to 5121 // unconditionally include in API requests. By default, fields with 5122 // empty or default values are omitted from API requests. However, any 5123 // non-pointer, non-interface field appearing in ForceSendFields will be 5124 // sent to the server regardless of whether the field is empty or not. 5125 // This may be used to include empty fields in Patch requests. 5126 ForceSendFields []string `json:"-"` 5127 5128 // NullFields is a list of field names (e.g. "GcsImageUri") to include 5129 // in API requests with the JSON null value. By default, fields with 5130 // empty values are omitted from API requests. However, any field with 5131 // an empty value appearing in NullFields will be sent to the server as 5132 // null. It is an error if a field in this list has a non-empty value. 5133 // This may be used to include null fields in Patch requests. 5134 NullFields []string `json:"-"` 5135} 5136 5137func (s *GoogleCloudVisionV1p2beta1ImageSource) MarshalJSON() ([]byte, error) { 5138 type NoMethod GoogleCloudVisionV1p2beta1ImageSource 5139 raw := NoMethod(*s) 5140 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5141} 5142 5143// GoogleCloudVisionV1p2beta1InputConfig: The desired input location and 5144// metadata. 5145type GoogleCloudVisionV1p2beta1InputConfig struct { 5146 // Content: File content, represented as a stream of bytes. Note: As 5147 // with all `bytes` fields, protobuffers use a pure binary 5148 // representation, whereas JSON representations use base64. Currently, 5149 // this field only works for BatchAnnotateFiles requests. It does not 5150 // work for AsyncBatchAnnotateFiles requests. 5151 Content string `json:"content,omitempty"` 5152 5153 // GcsSource: The Google Cloud Storage location to read the input from. 5154 GcsSource *GoogleCloudVisionV1p2beta1GcsSource `json:"gcsSource,omitempty"` 5155 5156 // MimeType: The type of the file. Currently only "application/pdf", 5157 // "image/tiff" and "image/gif" are supported. Wildcards are not 5158 // supported. 5159 MimeType string `json:"mimeType,omitempty"` 5160 5161 // ForceSendFields is a list of field names (e.g. "Content") to 5162 // unconditionally include in API requests. By default, fields with 5163 // empty or default values are omitted from API requests. However, any 5164 // non-pointer, non-interface field appearing in ForceSendFields will be 5165 // sent to the server regardless of whether the field is empty or not. 5166 // This may be used to include empty fields in Patch requests. 5167 ForceSendFields []string `json:"-"` 5168 5169 // NullFields is a list of field names (e.g. "Content") to include in 5170 // API requests with the JSON null value. By default, fields with empty 5171 // values are omitted from API requests. However, any field with an 5172 // empty value appearing in NullFields will be sent to the server as 5173 // null. It is an error if a field in this list has a non-empty value. 5174 // This may be used to include null fields in Patch requests. 5175 NullFields []string `json:"-"` 5176} 5177 5178func (s *GoogleCloudVisionV1p2beta1InputConfig) MarshalJSON() ([]byte, error) { 5179 type NoMethod GoogleCloudVisionV1p2beta1InputConfig 5180 raw := NoMethod(*s) 5181 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5182} 5183 5184// GoogleCloudVisionV1p2beta1LatLongRect: Rectangle determined by min 5185// and max `LatLng` pairs. 5186type GoogleCloudVisionV1p2beta1LatLongRect struct { 5187 // MaxLatLng: Max lat/long pair. 5188 MaxLatLng *LatLng `json:"maxLatLng,omitempty"` 5189 5190 // MinLatLng: Min lat/long pair. 5191 MinLatLng *LatLng `json:"minLatLng,omitempty"` 5192 5193 // ForceSendFields is a list of field names (e.g. "MaxLatLng") to 5194 // unconditionally include in API requests. By default, fields with 5195 // empty or default values are omitted from API requests. However, any 5196 // non-pointer, non-interface field appearing in ForceSendFields will be 5197 // sent to the server regardless of whether the field is empty or not. 5198 // This may be used to include empty fields in Patch requests. 5199 ForceSendFields []string `json:"-"` 5200 5201 // NullFields is a list of field names (e.g. "MaxLatLng") to include in 5202 // API requests with the JSON null value. By default, fields with empty 5203 // values are omitted from API requests. However, any field with an 5204 // empty value appearing in NullFields will be sent to the server as 5205 // null. It is an error if a field in this list has a non-empty value. 5206 // This may be used to include null fields in Patch requests. 5207 NullFields []string `json:"-"` 5208} 5209 5210func (s *GoogleCloudVisionV1p2beta1LatLongRect) MarshalJSON() ([]byte, error) { 5211 type NoMethod GoogleCloudVisionV1p2beta1LatLongRect 5212 raw := NoMethod(*s) 5213 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5214} 5215 5216// GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation: Set of detected 5217// objects with bounding boxes. 5218type GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation struct { 5219 // BoundingPoly: Image region to which this object belongs. This must be 5220 // populated. 5221 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 5222 5223 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 5224 // For more information, see 5225 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 5226 LanguageCode string `json:"languageCode,omitempty"` 5227 5228 // Mid: Object ID that should align with EntityAnnotation mid. 5229 Mid string `json:"mid,omitempty"` 5230 5231 // Name: Object name, expressed in its `language_code` language. 5232 Name string `json:"name,omitempty"` 5233 5234 // Score: Score of the result. Range [0, 1]. 5235 Score float64 `json:"score,omitempty"` 5236 5237 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 5238 // unconditionally include in API requests. By default, fields with 5239 // empty or default values are omitted from API requests. However, any 5240 // non-pointer, non-interface field appearing in ForceSendFields will be 5241 // sent to the server regardless of whether the field is empty or not. 5242 // This may be used to include empty fields in Patch requests. 5243 ForceSendFields []string `json:"-"` 5244 5245 // NullFields is a list of field names (e.g. "BoundingPoly") to include 5246 // in API requests with the JSON null value. By default, fields with 5247 // empty values are omitted from API requests. However, any field with 5248 // an empty value appearing in NullFields will be sent to the server as 5249 // null. It is an error if a field in this list has a non-empty value. 5250 // This may be used to include null fields in Patch requests. 5251 NullFields []string `json:"-"` 5252} 5253 5254func (s *GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 5255 type NoMethod GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation 5256 raw := NoMethod(*s) 5257 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5258} 5259 5260func (s *GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 5261 type NoMethod GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation 5262 var s1 struct { 5263 Score gensupport.JSONFloat64 `json:"score"` 5264 *NoMethod 5265 } 5266 s1.NoMethod = (*NoMethod)(s) 5267 if err := json.Unmarshal(data, &s1); err != nil { 5268 return err 5269 } 5270 s.Score = float64(s1.Score) 5271 return nil 5272} 5273 5274// GoogleCloudVisionV1p2beta1LocationInfo: Detected entity location 5275// information. 5276type GoogleCloudVisionV1p2beta1LocationInfo struct { 5277 // LatLng: lat/long location coordinates. 5278 LatLng *LatLng `json:"latLng,omitempty"` 5279 5280 // ForceSendFields is a list of field names (e.g. "LatLng") to 5281 // unconditionally include in API requests. By default, fields with 5282 // empty or default values are omitted from API requests. However, any 5283 // non-pointer, non-interface field appearing in ForceSendFields will be 5284 // sent to the server regardless of whether the field is empty or not. 5285 // This may be used to include empty fields in Patch requests. 5286 ForceSendFields []string `json:"-"` 5287 5288 // NullFields is a list of field names (e.g. "LatLng") to include in API 5289 // requests with the JSON null value. By default, fields with empty 5290 // values are omitted from API requests. However, any field with an 5291 // empty value appearing in NullFields will be sent to the server as 5292 // null. It is an error if a field in this list has a non-empty value. 5293 // This may be used to include null fields in Patch requests. 5294 NullFields []string `json:"-"` 5295} 5296 5297func (s *GoogleCloudVisionV1p2beta1LocationInfo) MarshalJSON() ([]byte, error) { 5298 type NoMethod GoogleCloudVisionV1p2beta1LocationInfo 5299 raw := NoMethod(*s) 5300 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5301} 5302 5303// GoogleCloudVisionV1p2beta1NormalizedVertex: A vertex represents a 2D 5304// point in the image. NOTE: the normalized vertex coordinates are 5305// relative to the original image and range from 0 to 1. 5306type GoogleCloudVisionV1p2beta1NormalizedVertex struct { 5307 // X: X coordinate. 5308 X float64 `json:"x,omitempty"` 5309 5310 // Y: Y coordinate. 5311 Y float64 `json:"y,omitempty"` 5312 5313 // ForceSendFields is a list of field names (e.g. "X") to 5314 // unconditionally include in API requests. By default, fields with 5315 // empty or default values are omitted from API requests. However, any 5316 // non-pointer, non-interface field appearing in ForceSendFields will be 5317 // sent to the server regardless of whether the field is empty or not. 5318 // This may be used to include empty fields in Patch requests. 5319 ForceSendFields []string `json:"-"` 5320 5321 // NullFields is a list of field names (e.g. "X") to include in API 5322 // requests with the JSON null value. By default, fields with empty 5323 // values are omitted from API requests. However, any field with an 5324 // empty value appearing in NullFields will be sent to the server as 5325 // null. It is an error if a field in this list has a non-empty value. 5326 // This may be used to include null fields in Patch requests. 5327 NullFields []string `json:"-"` 5328} 5329 5330func (s *GoogleCloudVisionV1p2beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 5331 type NoMethod GoogleCloudVisionV1p2beta1NormalizedVertex 5332 raw := NoMethod(*s) 5333 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5334} 5335 5336func (s *GoogleCloudVisionV1p2beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 5337 type NoMethod GoogleCloudVisionV1p2beta1NormalizedVertex 5338 var s1 struct { 5339 X gensupport.JSONFloat64 `json:"x"` 5340 Y gensupport.JSONFloat64 `json:"y"` 5341 *NoMethod 5342 } 5343 s1.NoMethod = (*NoMethod)(s) 5344 if err := json.Unmarshal(data, &s1); err != nil { 5345 return err 5346 } 5347 s.X = float64(s1.X) 5348 s.Y = float64(s1.Y) 5349 return nil 5350} 5351 5352// GoogleCloudVisionV1p2beta1OperationMetadata: Contains metadata for 5353// the BatchAnnotateImages operation. 5354type GoogleCloudVisionV1p2beta1OperationMetadata struct { 5355 // CreateTime: The time when the batch request was received. 5356 CreateTime string `json:"createTime,omitempty"` 5357 5358 // State: Current state of the batch operation. 5359 // 5360 // Possible values: 5361 // "STATE_UNSPECIFIED" - Invalid. 5362 // "CREATED" - Request is received. 5363 // "RUNNING" - Request is actively being processed. 5364 // "DONE" - The batch processing is done. 5365 // "CANCELLED" - The batch processing was cancelled. 5366 State string `json:"state,omitempty"` 5367 5368 // UpdateTime: The time when the operation result was last updated. 5369 UpdateTime string `json:"updateTime,omitempty"` 5370 5371 // ForceSendFields is a list of field names (e.g. "CreateTime") to 5372 // unconditionally include in API requests. By default, fields with 5373 // empty or default values are omitted from API requests. However, any 5374 // non-pointer, non-interface field appearing in ForceSendFields will be 5375 // sent to the server regardless of whether the field is empty or not. 5376 // This may be used to include empty fields in Patch requests. 5377 ForceSendFields []string `json:"-"` 5378 5379 // NullFields is a list of field names (e.g. "CreateTime") to include in 5380 // API requests with the JSON null value. By default, fields with empty 5381 // values are omitted from API requests. However, any field with an 5382 // empty value appearing in NullFields will be sent to the server as 5383 // null. It is an error if a field in this list has a non-empty value. 5384 // This may be used to include null fields in Patch requests. 5385 NullFields []string `json:"-"` 5386} 5387 5388func (s *GoogleCloudVisionV1p2beta1OperationMetadata) MarshalJSON() ([]byte, error) { 5389 type NoMethod GoogleCloudVisionV1p2beta1OperationMetadata 5390 raw := NoMethod(*s) 5391 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5392} 5393 5394// GoogleCloudVisionV1p2beta1OutputConfig: The desired output location 5395// and metadata. 5396type GoogleCloudVisionV1p2beta1OutputConfig struct { 5397 // BatchSize: The max number of response protos to put into each output 5398 // JSON file on Google Cloud Storage. The valid range is [1, 100]. If 5399 // not specified, the default value is 20. For example, for one pdf file 5400 // with 100 pages, 100 response protos will be generated. If 5401 // `batch_size` = 20, then 5 json files each containing 20 response 5402 // protos will be written under the prefix `gcs_destination`.`uri`. 5403 // Currently, batch_size only applies to GcsDestination, with potential 5404 // future support for other output configurations. 5405 BatchSize int64 `json:"batchSize,omitempty"` 5406 5407 // GcsDestination: The Google Cloud Storage location to write the 5408 // output(s) to. 5409 GcsDestination *GoogleCloudVisionV1p2beta1GcsDestination `json:"gcsDestination,omitempty"` 5410 5411 // ForceSendFields is a list of field names (e.g. "BatchSize") to 5412 // unconditionally include in API requests. By default, fields with 5413 // empty or default values are omitted from API requests. However, any 5414 // non-pointer, non-interface field appearing in ForceSendFields will be 5415 // sent to the server regardless of whether the field is empty or not. 5416 // This may be used to include empty fields in Patch requests. 5417 ForceSendFields []string `json:"-"` 5418 5419 // NullFields is a list of field names (e.g. "BatchSize") to include in 5420 // API requests with the JSON null value. By default, fields with empty 5421 // values are omitted from API requests. However, any field with an 5422 // empty value appearing in NullFields will be sent to the server as 5423 // null. It is an error if a field in this list has a non-empty value. 5424 // This may be used to include null fields in Patch requests. 5425 NullFields []string `json:"-"` 5426} 5427 5428func (s *GoogleCloudVisionV1p2beta1OutputConfig) MarshalJSON() ([]byte, error) { 5429 type NoMethod GoogleCloudVisionV1p2beta1OutputConfig 5430 raw := NoMethod(*s) 5431 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5432} 5433 5434// GoogleCloudVisionV1p2beta1Page: Detected page from OCR. 5435type GoogleCloudVisionV1p2beta1Page struct { 5436 // Blocks: List of blocks of text, images etc on this page. 5437 Blocks []*GoogleCloudVisionV1p2beta1Block `json:"blocks,omitempty"` 5438 5439 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 5440 Confidence float64 `json:"confidence,omitempty"` 5441 5442 // Height: Page height. For PDFs the unit is points. For images 5443 // (including TIFFs) the unit is pixels. 5444 Height int64 `json:"height,omitempty"` 5445 5446 // Property: Additional information detected on the page. 5447 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 5448 5449 // Width: Page width. For PDFs the unit is points. For images (including 5450 // TIFFs) the unit is pixels. 5451 Width int64 `json:"width,omitempty"` 5452 5453 // ForceSendFields is a list of field names (e.g. "Blocks") to 5454 // unconditionally include in API requests. By default, fields with 5455 // empty or default values are omitted from API requests. However, any 5456 // non-pointer, non-interface field appearing in ForceSendFields will be 5457 // sent to the server regardless of whether the field is empty or not. 5458 // This may be used to include empty fields in Patch requests. 5459 ForceSendFields []string `json:"-"` 5460 5461 // NullFields is a list of field names (e.g. "Blocks") to include in API 5462 // requests with the JSON null value. By default, fields with empty 5463 // values are omitted from API requests. However, any field with an 5464 // empty value appearing in NullFields will be sent to the server as 5465 // null. It is an error if a field in this list has a non-empty value. 5466 // This may be used to include null fields in Patch requests. 5467 NullFields []string `json:"-"` 5468} 5469 5470func (s *GoogleCloudVisionV1p2beta1Page) MarshalJSON() ([]byte, error) { 5471 type NoMethod GoogleCloudVisionV1p2beta1Page 5472 raw := NoMethod(*s) 5473 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5474} 5475 5476func (s *GoogleCloudVisionV1p2beta1Page) UnmarshalJSON(data []byte) error { 5477 type NoMethod GoogleCloudVisionV1p2beta1Page 5478 var s1 struct { 5479 Confidence gensupport.JSONFloat64 `json:"confidence"` 5480 *NoMethod 5481 } 5482 s1.NoMethod = (*NoMethod)(s) 5483 if err := json.Unmarshal(data, &s1); err != nil { 5484 return err 5485 } 5486 s.Confidence = float64(s1.Confidence) 5487 return nil 5488} 5489 5490// GoogleCloudVisionV1p2beta1Paragraph: Structural unit of text 5491// representing a number of words in certain order. 5492type GoogleCloudVisionV1p2beta1Paragraph struct { 5493 // BoundingBox: The bounding box for the paragraph. The vertices are in 5494 // the order of top-left, top-right, bottom-right, bottom-left. When a 5495 // rotation of the bounding box is detected the rotation is represented 5496 // as around the top-left corner as defined when the text is read in the 5497 // 'natural' orientation. For example: * when the text is horizontal it 5498 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 5499 // around the top-left corner it becomes: 2----3 | | 1----0 and the 5500 // vertex order will still be (0, 1, 2, 3). 5501 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 5502 5503 // Confidence: Confidence of the OCR results for the paragraph. Range 5504 // [0, 1]. 5505 Confidence float64 `json:"confidence,omitempty"` 5506 5507 // Property: Additional information detected for the paragraph. 5508 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 5509 5510 // Words: List of all words in this paragraph. 5511 Words []*GoogleCloudVisionV1p2beta1Word `json:"words,omitempty"` 5512 5513 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 5514 // unconditionally include in API requests. By default, fields with 5515 // empty or default values are omitted from API requests. However, any 5516 // non-pointer, non-interface field appearing in ForceSendFields will be 5517 // sent to the server regardless of whether the field is empty or not. 5518 // This may be used to include empty fields in Patch requests. 5519 ForceSendFields []string `json:"-"` 5520 5521 // NullFields is a list of field names (e.g. "BoundingBox") to include 5522 // in API requests with the JSON null value. By default, fields with 5523 // empty values are omitted from API requests. However, any field with 5524 // an empty value appearing in NullFields will be sent to the server as 5525 // null. It is an error if a field in this list has a non-empty value. 5526 // This may be used to include null fields in Patch requests. 5527 NullFields []string `json:"-"` 5528} 5529 5530func (s *GoogleCloudVisionV1p2beta1Paragraph) MarshalJSON() ([]byte, error) { 5531 type NoMethod GoogleCloudVisionV1p2beta1Paragraph 5532 raw := NoMethod(*s) 5533 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5534} 5535 5536func (s *GoogleCloudVisionV1p2beta1Paragraph) UnmarshalJSON(data []byte) error { 5537 type NoMethod GoogleCloudVisionV1p2beta1Paragraph 5538 var s1 struct { 5539 Confidence gensupport.JSONFloat64 `json:"confidence"` 5540 *NoMethod 5541 } 5542 s1.NoMethod = (*NoMethod)(s) 5543 if err := json.Unmarshal(data, &s1); err != nil { 5544 return err 5545 } 5546 s.Confidence = float64(s1.Confidence) 5547 return nil 5548} 5549 5550// GoogleCloudVisionV1p2beta1Position: A 3D position in the image, used 5551// primarily for Face detection landmarks. A valid Position must have 5552// both x and y coordinates. The position coordinates are in the same 5553// scale as the original image. 5554type GoogleCloudVisionV1p2beta1Position struct { 5555 // X: X coordinate. 5556 X float64 `json:"x,omitempty"` 5557 5558 // Y: Y coordinate. 5559 Y float64 `json:"y,omitempty"` 5560 5561 // Z: Z coordinate (or depth). 5562 Z float64 `json:"z,omitempty"` 5563 5564 // ForceSendFields is a list of field names (e.g. "X") to 5565 // unconditionally include in API requests. By default, fields with 5566 // empty or default values are omitted from API requests. However, any 5567 // non-pointer, non-interface field appearing in ForceSendFields will be 5568 // sent to the server regardless of whether the field is empty or not. 5569 // This may be used to include empty fields in Patch requests. 5570 ForceSendFields []string `json:"-"` 5571 5572 // NullFields is a list of field names (e.g. "X") to include in API 5573 // requests with the JSON null value. By default, fields with empty 5574 // values are omitted from API requests. However, any field with an 5575 // empty value appearing in NullFields will be sent to the server as 5576 // null. It is an error if a field in this list has a non-empty value. 5577 // This may be used to include null fields in Patch requests. 5578 NullFields []string `json:"-"` 5579} 5580 5581func (s *GoogleCloudVisionV1p2beta1Position) MarshalJSON() ([]byte, error) { 5582 type NoMethod GoogleCloudVisionV1p2beta1Position 5583 raw := NoMethod(*s) 5584 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5585} 5586 5587func (s *GoogleCloudVisionV1p2beta1Position) UnmarshalJSON(data []byte) error { 5588 type NoMethod GoogleCloudVisionV1p2beta1Position 5589 var s1 struct { 5590 X gensupport.JSONFloat64 `json:"x"` 5591 Y gensupport.JSONFloat64 `json:"y"` 5592 Z gensupport.JSONFloat64 `json:"z"` 5593 *NoMethod 5594 } 5595 s1.NoMethod = (*NoMethod)(s) 5596 if err := json.Unmarshal(data, &s1); err != nil { 5597 return err 5598 } 5599 s.X = float64(s1.X) 5600 s.Y = float64(s1.Y) 5601 s.Z = float64(s1.Z) 5602 return nil 5603} 5604 5605// GoogleCloudVisionV1p2beta1Product: A Product contains 5606// ReferenceImages. 5607type GoogleCloudVisionV1p2beta1Product struct { 5608 // Description: User-provided metadata to be stored with this product. 5609 // Must be at most 4096 characters long. 5610 Description string `json:"description,omitempty"` 5611 5612 // DisplayName: The user-provided name for this Product. Must not be 5613 // empty. Must be at most 4096 characters long. 5614 DisplayName string `json:"displayName,omitempty"` 5615 5616 // Name: The resource name of the product. Format is: 5617 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This 5618 // field is ignored when creating a product. 5619 Name string `json:"name,omitempty"` 5620 5621 // ProductCategory: Immutable. The category for the product identified 5622 // by the reference image. This should be one of "homegoods-v2", 5623 // "apparel-v2", "toys-v2", "packagedgoods-v1" or "general-v1". The 5624 // legacy categories "homegoods", "apparel", and "toys" are still 5625 // supported, but these should not be used for new products. 5626 ProductCategory string `json:"productCategory,omitempty"` 5627 5628 // ProductLabels: Key-value pairs that can be attached to a product. At 5629 // query time, constraints can be specified based on the product_labels. 5630 // Note that integer values can be provided as strings, e.g. "1199". 5631 // Only strings with integer values can match a range-based restriction 5632 // which is to be supported soon. Multiple values can be assigned to the 5633 // same key. One product may have up to 500 product_labels. Notice that 5634 // the total number of distinct product_labels over all products in one 5635 // ProductSet cannot exceed 1M, otherwise the product search pipeline 5636 // will refuse to work for that ProductSet. 5637 ProductLabels []*GoogleCloudVisionV1p2beta1ProductKeyValue `json:"productLabels,omitempty"` 5638 5639 // ForceSendFields is a list of field names (e.g. "Description") to 5640 // unconditionally include in API requests. By default, fields with 5641 // empty or default values are omitted from API requests. However, any 5642 // non-pointer, non-interface field appearing in ForceSendFields will be 5643 // sent to the server regardless of whether the field is empty or not. 5644 // This may be used to include empty fields in Patch requests. 5645 ForceSendFields []string `json:"-"` 5646 5647 // NullFields is a list of field names (e.g. "Description") to include 5648 // in API requests with the JSON null value. By default, fields with 5649 // empty values are omitted from API requests. However, any field with 5650 // an empty value appearing in NullFields will be sent to the server as 5651 // null. It is an error if a field in this list has a non-empty value. 5652 // This may be used to include null fields in Patch requests. 5653 NullFields []string `json:"-"` 5654} 5655 5656func (s *GoogleCloudVisionV1p2beta1Product) MarshalJSON() ([]byte, error) { 5657 type NoMethod GoogleCloudVisionV1p2beta1Product 5658 raw := NoMethod(*s) 5659 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5660} 5661 5662// GoogleCloudVisionV1p2beta1ProductKeyValue: A product label 5663// represented as a key-value pair. 5664type GoogleCloudVisionV1p2beta1ProductKeyValue struct { 5665 // Key: The key of the label attached to the product. Cannot be empty 5666 // and cannot exceed 128 bytes. 5667 Key string `json:"key,omitempty"` 5668 5669 // Value: The value of the label attached to the product. Cannot be 5670 // empty and cannot exceed 128 bytes. 5671 Value string `json:"value,omitempty"` 5672 5673 // ForceSendFields is a list of field names (e.g. "Key") to 5674 // unconditionally include in API requests. By default, fields with 5675 // empty or default values are omitted from API requests. However, any 5676 // non-pointer, non-interface field appearing in ForceSendFields will be 5677 // sent to the server regardless of whether the field is empty or not. 5678 // This may be used to include empty fields in Patch requests. 5679 ForceSendFields []string `json:"-"` 5680 5681 // NullFields is a list of field names (e.g. "Key") to include in API 5682 // requests with the JSON null value. By default, fields with empty 5683 // values are omitted from API requests. However, any field with an 5684 // empty value appearing in NullFields will be sent to the server as 5685 // null. It is an error if a field in this list has a non-empty value. 5686 // This may be used to include null fields in Patch requests. 5687 NullFields []string `json:"-"` 5688} 5689 5690func (s *GoogleCloudVisionV1p2beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 5691 type NoMethod GoogleCloudVisionV1p2beta1ProductKeyValue 5692 raw := NoMethod(*s) 5693 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5694} 5695 5696// GoogleCloudVisionV1p2beta1ProductSearchParams: Parameters for a 5697// product search request. 5698type GoogleCloudVisionV1p2beta1ProductSearchParams struct { 5699 // BoundingPoly: The bounding polygon around the area of interest in the 5700 // image. If it is not specified, system discretion will be applied. 5701 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 5702 5703 // Filter: The filtering expression. This can be used to restrict search 5704 // results based on Product labels. We currently support an AND of OR of 5705 // key-value expressions, where each expression within an OR must have 5706 // the same key. An '=' should be used to connect the key and value. For 5707 // example, "(color = red OR color = blue) AND brand = Google" is 5708 // acceptable, but "(color = red OR brand = Google)" is not acceptable. 5709 // "color: red" is not acceptable because it uses a ':' instead of an 5710 // '='. 5711 Filter string `json:"filter,omitempty"` 5712 5713 // ProductCategories: The list of product categories to search in. 5714 // Currently, we only consider the first category, and either 5715 // "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1", or 5716 // "general-v1" should be specified. The legacy categories "homegoods", 5717 // "apparel", and "toys" are still supported but will be deprecated. For 5718 // new products, please use "homegoods-v2", "apparel-v2", or "toys-v2" 5719 // for better product search accuracy. It is recommended to migrate 5720 // existing products to these categories as well. 5721 ProductCategories []string `json:"productCategories,omitempty"` 5722 5723 // ProductSet: The resource name of a ProductSet to be searched for 5724 // similar images. Format is: 5725 // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. 5726 ProductSet string `json:"productSet,omitempty"` 5727 5728 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 5729 // unconditionally include in API requests. By default, fields with 5730 // empty or default values are omitted from API requests. However, any 5731 // non-pointer, non-interface field appearing in ForceSendFields will be 5732 // sent to the server regardless of whether the field is empty or not. 5733 // This may be used to include empty fields in Patch requests. 5734 ForceSendFields []string `json:"-"` 5735 5736 // NullFields is a list of field names (e.g. "BoundingPoly") to include 5737 // in API requests with the JSON null value. By default, fields with 5738 // empty values are omitted from API requests. However, any field with 5739 // an empty value appearing in NullFields will be sent to the server as 5740 // null. It is an error if a field in this list has a non-empty value. 5741 // This may be used to include null fields in Patch requests. 5742 NullFields []string `json:"-"` 5743} 5744 5745func (s *GoogleCloudVisionV1p2beta1ProductSearchParams) MarshalJSON() ([]byte, error) { 5746 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchParams 5747 raw := NoMethod(*s) 5748 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5749} 5750 5751// GoogleCloudVisionV1p2beta1ProductSearchResults: Results for a product 5752// search request. 5753type GoogleCloudVisionV1p2beta1ProductSearchResults struct { 5754 // IndexTime: Timestamp of the index which provided these results. 5755 // Products added to the product set and products removed from the 5756 // product set after this time are not reflected in the current results. 5757 IndexTime string `json:"indexTime,omitempty"` 5758 5759 // ProductGroupedResults: List of results grouped by products detected 5760 // in the query image. Each entry corresponds to one bounding polygon in 5761 // the query image, and contains the matching products specific to that 5762 // region. There may be duplicate product matches in the union of all 5763 // the per-product results. 5764 ProductGroupedResults []*GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 5765 5766 // Results: List of results, one for each product match. 5767 Results []*GoogleCloudVisionV1p2beta1ProductSearchResultsResult `json:"results,omitempty"` 5768 5769 // ForceSendFields is a list of field names (e.g. "IndexTime") to 5770 // unconditionally include in API requests. By default, fields with 5771 // empty or default values are omitted from API requests. However, any 5772 // non-pointer, non-interface field appearing in ForceSendFields will be 5773 // sent to the server regardless of whether the field is empty or not. 5774 // This may be used to include empty fields in Patch requests. 5775 ForceSendFields []string `json:"-"` 5776 5777 // NullFields is a list of field names (e.g. "IndexTime") to include in 5778 // API requests with the JSON null value. By default, fields with empty 5779 // values are omitted from API requests. However, any field with an 5780 // empty value appearing in NullFields will be sent to the server as 5781 // null. It is an error if a field in this list has a non-empty value. 5782 // This may be used to include null fields in Patch requests. 5783 NullFields []string `json:"-"` 5784} 5785 5786func (s *GoogleCloudVisionV1p2beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 5787 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResults 5788 raw := NoMethod(*s) 5789 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5790} 5791 5792// GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult: 5793// Information about the products similar to a single product in a query 5794// image. 5795type GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult struct { 5796 // BoundingPoly: The bounding polygon around the product detected in the 5797 // query image. 5798 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 5799 5800 // ObjectAnnotations: List of generic predictions for the object in the 5801 // bounding box. 5802 ObjectAnnotations []*GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 5803 5804 // Results: List of results, one for each product match. 5805 Results []*GoogleCloudVisionV1p2beta1ProductSearchResultsResult `json:"results,omitempty"` 5806 5807 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 5808 // unconditionally include in API requests. By default, fields with 5809 // empty or default values are omitted from API requests. However, any 5810 // non-pointer, non-interface field appearing in ForceSendFields will be 5811 // sent to the server regardless of whether the field is empty or not. 5812 // This may be used to include empty fields in Patch requests. 5813 ForceSendFields []string `json:"-"` 5814 5815 // NullFields is a list of field names (e.g. "BoundingPoly") to include 5816 // in API requests with the JSON null value. By default, fields with 5817 // empty values are omitted from API requests. However, any field with 5818 // an empty value appearing in NullFields will be sent to the server as 5819 // null. It is an error if a field in this list has a non-empty value. 5820 // This may be used to include null fields in Patch requests. 5821 NullFields []string `json:"-"` 5822} 5823 5824func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 5825 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult 5826 raw := NoMethod(*s) 5827 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5828} 5829 5830// GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation: 5831// Prediction for what the object in the bounding box is. 5832type GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation struct { 5833 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 5834 // For more information, see 5835 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 5836 LanguageCode string `json:"languageCode,omitempty"` 5837 5838 // Mid: Object ID that should align with EntityAnnotation mid. 5839 Mid string `json:"mid,omitempty"` 5840 5841 // Name: Object name, expressed in its `language_code` language. 5842 Name string `json:"name,omitempty"` 5843 5844 // Score: Score of the result. Range [0, 1]. 5845 Score float64 `json:"score,omitempty"` 5846 5847 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 5848 // unconditionally include in API requests. By default, fields with 5849 // empty or default values are omitted from API requests. However, any 5850 // non-pointer, non-interface field appearing in ForceSendFields will be 5851 // sent to the server regardless of whether the field is empty or not. 5852 // This may be used to include empty fields in Patch requests. 5853 ForceSendFields []string `json:"-"` 5854 5855 // NullFields is a list of field names (e.g. "LanguageCode") to include 5856 // in API requests with the JSON null value. By default, fields with 5857 // empty values are omitted from API requests. However, any field with 5858 // an empty value appearing in NullFields will be sent to the server as 5859 // null. It is an error if a field in this list has a non-empty value. 5860 // This may be used to include null fields in Patch requests. 5861 NullFields []string `json:"-"` 5862} 5863 5864func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 5865 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation 5866 raw := NoMethod(*s) 5867 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5868} 5869 5870func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 5871 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation 5872 var s1 struct { 5873 Score gensupport.JSONFloat64 `json:"score"` 5874 *NoMethod 5875 } 5876 s1.NoMethod = (*NoMethod)(s) 5877 if err := json.Unmarshal(data, &s1); err != nil { 5878 return err 5879 } 5880 s.Score = float64(s1.Score) 5881 return nil 5882} 5883 5884// GoogleCloudVisionV1p2beta1ProductSearchResultsResult: Information 5885// about a product. 5886type GoogleCloudVisionV1p2beta1ProductSearchResultsResult struct { 5887 // Image: The resource name of the image from the product that is the 5888 // closest match to the query. 5889 Image string `json:"image,omitempty"` 5890 5891 // Product: The Product. 5892 Product *GoogleCloudVisionV1p2beta1Product `json:"product,omitempty"` 5893 5894 // Score: A confidence level on the match, ranging from 0 (no 5895 // confidence) to 1 (full confidence). 5896 Score float64 `json:"score,omitempty"` 5897 5898 // ForceSendFields is a list of field names (e.g. "Image") to 5899 // unconditionally include in API requests. By default, fields with 5900 // empty or default values are omitted from API requests. However, any 5901 // non-pointer, non-interface field appearing in ForceSendFields will be 5902 // sent to the server regardless of whether the field is empty or not. 5903 // This may be used to include empty fields in Patch requests. 5904 ForceSendFields []string `json:"-"` 5905 5906 // NullFields is a list of field names (e.g. "Image") to include in API 5907 // requests with the JSON null value. By default, fields with empty 5908 // values are omitted from API requests. However, any field with an 5909 // empty value appearing in NullFields will be sent to the server as 5910 // null. It is an error if a field in this list has a non-empty value. 5911 // This may be used to include null fields in Patch requests. 5912 NullFields []string `json:"-"` 5913} 5914 5915func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 5916 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsResult 5917 raw := NoMethod(*s) 5918 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5919} 5920 5921func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 5922 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsResult 5923 var s1 struct { 5924 Score gensupport.JSONFloat64 `json:"score"` 5925 *NoMethod 5926 } 5927 s1.NoMethod = (*NoMethod)(s) 5928 if err := json.Unmarshal(data, &s1); err != nil { 5929 return err 5930 } 5931 s.Score = float64(s1.Score) 5932 return nil 5933} 5934 5935// GoogleCloudVisionV1p2beta1Property: A `Property` consists of a 5936// user-supplied name/value pair. 5937type GoogleCloudVisionV1p2beta1Property struct { 5938 // Name: Name of the property. 5939 Name string `json:"name,omitempty"` 5940 5941 // Uint64Value: Value of numeric properties. 5942 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 5943 5944 // Value: Value of the property. 5945 Value string `json:"value,omitempty"` 5946 5947 // ForceSendFields is a list of field names (e.g. "Name") to 5948 // unconditionally include in API requests. By default, fields with 5949 // empty or default values are omitted from API requests. However, any 5950 // non-pointer, non-interface field appearing in ForceSendFields will be 5951 // sent to the server regardless of whether the field is empty or not. 5952 // This may be used to include empty fields in Patch requests. 5953 ForceSendFields []string `json:"-"` 5954 5955 // NullFields is a list of field names (e.g. "Name") to include in API 5956 // requests with the JSON null value. By default, fields with empty 5957 // values are omitted from API requests. However, any field with an 5958 // empty value appearing in NullFields will be sent to the server as 5959 // null. It is an error if a field in this list has a non-empty value. 5960 // This may be used to include null fields in Patch requests. 5961 NullFields []string `json:"-"` 5962} 5963 5964func (s *GoogleCloudVisionV1p2beta1Property) MarshalJSON() ([]byte, error) { 5965 type NoMethod GoogleCloudVisionV1p2beta1Property 5966 raw := NoMethod(*s) 5967 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5968} 5969 5970// GoogleCloudVisionV1p2beta1SafeSearchAnnotation: Set of features 5971// pertaining to the image, computed by computer vision methods over 5972// safe-search verticals (for example, adult, spoof, medical, violence). 5973type GoogleCloudVisionV1p2beta1SafeSearchAnnotation struct { 5974 // Adult: Represents the adult content likelihood for the image. Adult 5975 // content may contain elements such as nudity, pornographic images or 5976 // cartoons, or sexual activities. 5977 // 5978 // Possible values: 5979 // "UNKNOWN" - Unknown likelihood. 5980 // "VERY_UNLIKELY" - It is very unlikely. 5981 // "UNLIKELY" - It is unlikely. 5982 // "POSSIBLE" - It is possible. 5983 // "LIKELY" - It is likely. 5984 // "VERY_LIKELY" - It is very likely. 5985 Adult string `json:"adult,omitempty"` 5986 5987 // Medical: Likelihood that this is a medical image. 5988 // 5989 // Possible values: 5990 // "UNKNOWN" - Unknown likelihood. 5991 // "VERY_UNLIKELY" - It is very unlikely. 5992 // "UNLIKELY" - It is unlikely. 5993 // "POSSIBLE" - It is possible. 5994 // "LIKELY" - It is likely. 5995 // "VERY_LIKELY" - It is very likely. 5996 Medical string `json:"medical,omitempty"` 5997 5998 // Racy: Likelihood that the request image contains racy content. Racy 5999 // content may include (but is not limited to) skimpy or sheer clothing, 6000 // strategically covered nudity, lewd or provocative poses, or close-ups 6001 // of sensitive body areas. 6002 // 6003 // Possible values: 6004 // "UNKNOWN" - Unknown likelihood. 6005 // "VERY_UNLIKELY" - It is very unlikely. 6006 // "UNLIKELY" - It is unlikely. 6007 // "POSSIBLE" - It is possible. 6008 // "LIKELY" - It is likely. 6009 // "VERY_LIKELY" - It is very likely. 6010 Racy string `json:"racy,omitempty"` 6011 6012 // Spoof: Spoof likelihood. The likelihood that an modification was made 6013 // to the image's canonical version to make it appear funny or 6014 // offensive. 6015 // 6016 // Possible values: 6017 // "UNKNOWN" - Unknown likelihood. 6018 // "VERY_UNLIKELY" - It is very unlikely. 6019 // "UNLIKELY" - It is unlikely. 6020 // "POSSIBLE" - It is possible. 6021 // "LIKELY" - It is likely. 6022 // "VERY_LIKELY" - It is very likely. 6023 Spoof string `json:"spoof,omitempty"` 6024 6025 // Violence: Likelihood that this image contains violent content. 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 Violence string `json:"violence,omitempty"` 6035 6036 // ForceSendFields is a list of field names (e.g. "Adult") to 6037 // unconditionally include in API requests. By default, fields with 6038 // empty or default values are omitted from API requests. However, any 6039 // non-pointer, non-interface field appearing in ForceSendFields will be 6040 // sent to the server regardless of whether the field is empty or not. 6041 // This may be used to include empty fields in Patch requests. 6042 ForceSendFields []string `json:"-"` 6043 6044 // NullFields is a list of field names (e.g. "Adult") to include in API 6045 // requests with the JSON null value. By default, fields with empty 6046 // values are omitted from API requests. However, any field with an 6047 // empty value appearing in NullFields will be sent to the server as 6048 // null. It is an error if a field in this list has a non-empty value. 6049 // This may be used to include null fields in Patch requests. 6050 NullFields []string `json:"-"` 6051} 6052 6053func (s *GoogleCloudVisionV1p2beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 6054 type NoMethod GoogleCloudVisionV1p2beta1SafeSearchAnnotation 6055 raw := NoMethod(*s) 6056 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6057} 6058 6059// GoogleCloudVisionV1p2beta1Symbol: A single symbol representation. 6060type GoogleCloudVisionV1p2beta1Symbol struct { 6061 // BoundingBox: The bounding box for the symbol. The vertices are in the 6062 // order of top-left, top-right, bottom-right, bottom-left. When a 6063 // rotation of the bounding box is detected the rotation is represented 6064 // as around the top-left corner as defined when the text is read in the 6065 // 'natural' orientation. For example: * when the text is horizontal it 6066 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 6067 // around the top-left corner it becomes: 2----3 | | 1----0 and the 6068 // vertex order will still be (0, 1, 2, 3). 6069 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 6070 6071 // Confidence: Confidence of the OCR results for the symbol. Range [0, 6072 // 1]. 6073 Confidence float64 `json:"confidence,omitempty"` 6074 6075 // Property: Additional information detected for the symbol. 6076 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 6077 6078 // Text: The actual UTF-8 representation of the symbol. 6079 Text string `json:"text,omitempty"` 6080 6081 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 6082 // unconditionally include in API requests. By default, fields with 6083 // empty or default values are omitted from API requests. However, any 6084 // non-pointer, non-interface field appearing in ForceSendFields will be 6085 // sent to the server regardless of whether the field is empty or not. 6086 // This may be used to include empty fields in Patch requests. 6087 ForceSendFields []string `json:"-"` 6088 6089 // NullFields is a list of field names (e.g. "BoundingBox") to include 6090 // in API requests with the JSON null value. By default, fields with 6091 // empty values are omitted from API requests. However, any field with 6092 // an empty value appearing in NullFields will be sent to the server as 6093 // null. It is an error if a field in this list has a non-empty value. 6094 // This may be used to include null fields in Patch requests. 6095 NullFields []string `json:"-"` 6096} 6097 6098func (s *GoogleCloudVisionV1p2beta1Symbol) MarshalJSON() ([]byte, error) { 6099 type NoMethod GoogleCloudVisionV1p2beta1Symbol 6100 raw := NoMethod(*s) 6101 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6102} 6103 6104func (s *GoogleCloudVisionV1p2beta1Symbol) UnmarshalJSON(data []byte) error { 6105 type NoMethod GoogleCloudVisionV1p2beta1Symbol 6106 var s1 struct { 6107 Confidence gensupport.JSONFloat64 `json:"confidence"` 6108 *NoMethod 6109 } 6110 s1.NoMethod = (*NoMethod)(s) 6111 if err := json.Unmarshal(data, &s1); err != nil { 6112 return err 6113 } 6114 s.Confidence = float64(s1.Confidence) 6115 return nil 6116} 6117 6118// GoogleCloudVisionV1p2beta1TextAnnotation: TextAnnotation contains a 6119// structured representation of OCR extracted text. The hierarchy of an 6120// OCR extracted text structure is like this: TextAnnotation -> Page -> 6121// Block -> Paragraph -> Word -> Symbol Each structural component, 6122// starting from Page, may further have their own properties. Properties 6123// describe detected languages, breaks etc.. Please refer to the 6124// TextAnnotation.TextProperty message definition below for more detail. 6125type GoogleCloudVisionV1p2beta1TextAnnotation struct { 6126 // Pages: List of pages detected by OCR. 6127 Pages []*GoogleCloudVisionV1p2beta1Page `json:"pages,omitempty"` 6128 6129 // Text: UTF-8 text detected on the pages. 6130 Text string `json:"text,omitempty"` 6131 6132 // ForceSendFields is a list of field names (e.g. "Pages") to 6133 // unconditionally include in API requests. By default, fields with 6134 // empty or default values are omitted from API requests. However, any 6135 // non-pointer, non-interface field appearing in ForceSendFields will be 6136 // sent to the server regardless of whether the field is empty or not. 6137 // This may be used to include empty fields in Patch requests. 6138 ForceSendFields []string `json:"-"` 6139 6140 // NullFields is a list of field names (e.g. "Pages") to include in API 6141 // requests with the JSON null value. By default, fields with empty 6142 // values are omitted from API requests. However, any field with an 6143 // empty value appearing in NullFields will be sent to the server as 6144 // null. It is an error if a field in this list has a non-empty value. 6145 // This may be used to include null fields in Patch requests. 6146 NullFields []string `json:"-"` 6147} 6148 6149func (s *GoogleCloudVisionV1p2beta1TextAnnotation) MarshalJSON() ([]byte, error) { 6150 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotation 6151 raw := NoMethod(*s) 6152 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6153} 6154 6155// GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak: Detected start 6156// or end of a structural component. 6157type GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak struct { 6158 // IsPrefix: True if break prepends the element. 6159 IsPrefix bool `json:"isPrefix,omitempty"` 6160 6161 // Type: Detected break type. 6162 // 6163 // Possible values: 6164 // "UNKNOWN" - Unknown break label type. 6165 // "SPACE" - Regular space. 6166 // "SURE_SPACE" - Sure space (very wide). 6167 // "EOL_SURE_SPACE" - Line-wrapping break. 6168 // "HYPHEN" - End-line hyphen that is not present in text; does not 6169 // co-occur with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 6170 // "LINE_BREAK" - Line break that ends a paragraph. 6171 Type string `json:"type,omitempty"` 6172 6173 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 6174 // unconditionally include in API requests. By default, fields with 6175 // empty or default values are omitted from API requests. However, any 6176 // non-pointer, non-interface field appearing in ForceSendFields will be 6177 // sent to the server regardless of whether the field is empty or not. 6178 // This may be used to include empty fields in Patch requests. 6179 ForceSendFields []string `json:"-"` 6180 6181 // NullFields is a list of field names (e.g. "IsPrefix") to include in 6182 // API requests with the JSON null value. By default, fields with empty 6183 // values are omitted from API requests. However, any field with an 6184 // empty value appearing in NullFields will be sent to the server as 6185 // null. It is an error if a field in this list has a non-empty value. 6186 // This may be used to include null fields in Patch requests. 6187 NullFields []string `json:"-"` 6188} 6189 6190func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 6191 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak 6192 raw := NoMethod(*s) 6193 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6194} 6195 6196// GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage: Detected 6197// language for a structural component. 6198type GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage struct { 6199 // Confidence: Confidence of detected language. Range [0, 1]. 6200 Confidence float64 `json:"confidence,omitempty"` 6201 6202 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 6203 // For more information, see 6204 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 6205 LanguageCode string `json:"languageCode,omitempty"` 6206 6207 // ForceSendFields is a list of field names (e.g. "Confidence") to 6208 // unconditionally include in API requests. By default, fields with 6209 // empty or default values are omitted from API requests. However, any 6210 // non-pointer, non-interface field appearing in ForceSendFields will be 6211 // sent to the server regardless of whether the field is empty or not. 6212 // This may be used to include empty fields in Patch requests. 6213 ForceSendFields []string `json:"-"` 6214 6215 // NullFields is a list of field names (e.g. "Confidence") to include in 6216 // API requests with the JSON null value. By default, fields with empty 6217 // values are omitted from API requests. However, any field with an 6218 // empty value appearing in NullFields will be sent to the server as 6219 // null. It is an error if a field in this list has a non-empty value. 6220 // This may be used to include null fields in Patch requests. 6221 NullFields []string `json:"-"` 6222} 6223 6224func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 6225 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage 6226 raw := NoMethod(*s) 6227 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6228} 6229 6230func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 6231 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage 6232 var s1 struct { 6233 Confidence gensupport.JSONFloat64 `json:"confidence"` 6234 *NoMethod 6235 } 6236 s1.NoMethod = (*NoMethod)(s) 6237 if err := json.Unmarshal(data, &s1); err != nil { 6238 return err 6239 } 6240 s.Confidence = float64(s1.Confidence) 6241 return nil 6242} 6243 6244// GoogleCloudVisionV1p2beta1TextAnnotationTextProperty: Additional 6245// information detected on the structural component. 6246type GoogleCloudVisionV1p2beta1TextAnnotationTextProperty struct { 6247 // DetectedBreak: Detected start or end of a text segment. 6248 DetectedBreak *GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 6249 6250 // DetectedLanguages: A list of detected languages together with 6251 // confidence. 6252 DetectedLanguages []*GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 6253 6254 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 6255 // unconditionally include in API requests. By default, fields with 6256 // empty or default values are omitted from API requests. However, any 6257 // non-pointer, non-interface field appearing in ForceSendFields will be 6258 // sent to the server regardless of whether the field is empty or not. 6259 // This may be used to include empty fields in Patch requests. 6260 ForceSendFields []string `json:"-"` 6261 6262 // NullFields is a list of field names (e.g. "DetectedBreak") to include 6263 // in API requests with the JSON null value. By default, fields with 6264 // empty values are omitted from API requests. However, any field with 6265 // an empty value appearing in NullFields will be sent to the server as 6266 // null. It is an error if a field in this list has a non-empty value. 6267 // This may be used to include null fields in Patch requests. 6268 NullFields []string `json:"-"` 6269} 6270 6271func (s *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 6272 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationTextProperty 6273 raw := NoMethod(*s) 6274 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6275} 6276 6277// GoogleCloudVisionV1p2beta1TextDetectionParams: Parameters for text 6278// detections. This is used to control TEXT_DETECTION and 6279// DOCUMENT_TEXT_DETECTION features. 6280type GoogleCloudVisionV1p2beta1TextDetectionParams struct { 6281 // EnableTextDetectionConfidenceScore: By default, Cloud Vision API only 6282 // includes confidence score for DOCUMENT_TEXT_DETECTION result. Set the 6283 // flag to true to include confidence score for TEXT_DETECTION as well. 6284 EnableTextDetectionConfidenceScore bool `json:"enableTextDetectionConfidenceScore,omitempty"` 6285 6286 // ForceSendFields is a list of field names (e.g. 6287 // "EnableTextDetectionConfidenceScore") to unconditionally include in 6288 // API requests. By default, fields with empty or default values are 6289 // omitted from API requests. However, any non-pointer, non-interface 6290 // field appearing in ForceSendFields will be sent to the server 6291 // regardless of whether the field is empty or not. This may be used to 6292 // include empty fields in Patch requests. 6293 ForceSendFields []string `json:"-"` 6294 6295 // NullFields is a list of field names (e.g. 6296 // "EnableTextDetectionConfidenceScore") to include in API requests with 6297 // the JSON null value. By default, fields with empty values are omitted 6298 // from API requests. However, any field with an empty value appearing 6299 // in NullFields will be sent to the server as null. It is an error if a 6300 // field in this list has a non-empty value. This may be used to include 6301 // null fields in Patch requests. 6302 NullFields []string `json:"-"` 6303} 6304 6305func (s *GoogleCloudVisionV1p2beta1TextDetectionParams) MarshalJSON() ([]byte, error) { 6306 type NoMethod GoogleCloudVisionV1p2beta1TextDetectionParams 6307 raw := NoMethod(*s) 6308 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6309} 6310 6311// GoogleCloudVisionV1p2beta1Vertex: A vertex represents a 2D point in 6312// the image. NOTE: the vertex coordinates are in the same scale as the 6313// original image. 6314type GoogleCloudVisionV1p2beta1Vertex struct { 6315 // X: X coordinate. 6316 X int64 `json:"x,omitempty"` 6317 6318 // Y: Y coordinate. 6319 Y int64 `json:"y,omitempty"` 6320 6321 // ForceSendFields is a list of field names (e.g. "X") to 6322 // unconditionally include in API requests. By default, fields with 6323 // empty or default values are omitted from API requests. However, any 6324 // non-pointer, non-interface field appearing in ForceSendFields will be 6325 // sent to the server regardless of whether the field is empty or not. 6326 // This may be used to include empty fields in Patch requests. 6327 ForceSendFields []string `json:"-"` 6328 6329 // NullFields is a list of field names (e.g. "X") to include in API 6330 // requests with the JSON null value. By default, fields with empty 6331 // values are omitted from API requests. However, any field with an 6332 // empty value appearing in NullFields will be sent to the server as 6333 // null. It is an error if a field in this list has a non-empty value. 6334 // This may be used to include null fields in Patch requests. 6335 NullFields []string `json:"-"` 6336} 6337 6338func (s *GoogleCloudVisionV1p2beta1Vertex) MarshalJSON() ([]byte, error) { 6339 type NoMethod GoogleCloudVisionV1p2beta1Vertex 6340 raw := NoMethod(*s) 6341 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6342} 6343 6344// GoogleCloudVisionV1p2beta1WebDetection: Relevant information for the 6345// image from the Internet. 6346type GoogleCloudVisionV1p2beta1WebDetection struct { 6347 // BestGuessLabels: The service's best guess as to the topic of the 6348 // request image. Inferred from similar images on the open web. 6349 BestGuessLabels []*GoogleCloudVisionV1p2beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 6350 6351 // FullMatchingImages: Fully matching images from the Internet. Can 6352 // include resized copies of the query image. 6353 FullMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 6354 6355 // PagesWithMatchingImages: Web pages containing the matching images 6356 // from the Internet. 6357 PagesWithMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 6358 6359 // PartialMatchingImages: Partial matching images from the Internet. 6360 // Those images are similar enough to share some key-point features. For 6361 // example an original image will likely have partial matching for its 6362 // crops. 6363 PartialMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 6364 6365 // VisuallySimilarImages: The visually similar image results. 6366 VisuallySimilarImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 6367 6368 // WebEntities: Deduced entities from similar images on the Internet. 6369 WebEntities []*GoogleCloudVisionV1p2beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 6370 6371 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 6372 // unconditionally include in API requests. By default, fields with 6373 // empty or default values are omitted from API requests. However, any 6374 // non-pointer, non-interface field appearing in ForceSendFields will be 6375 // sent to the server regardless of whether the field is empty or not. 6376 // This may be used to include empty fields in Patch requests. 6377 ForceSendFields []string `json:"-"` 6378 6379 // NullFields is a list of field names (e.g. "BestGuessLabels") to 6380 // include in API requests with the JSON null value. By default, fields 6381 // with empty values are omitted from API requests. However, any field 6382 // with an empty value appearing in NullFields will be sent to the 6383 // server as null. It is an error if a field in this list has a 6384 // non-empty value. This may be used to include null fields in Patch 6385 // requests. 6386 NullFields []string `json:"-"` 6387} 6388 6389func (s *GoogleCloudVisionV1p2beta1WebDetection) MarshalJSON() ([]byte, error) { 6390 type NoMethod GoogleCloudVisionV1p2beta1WebDetection 6391 raw := NoMethod(*s) 6392 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6393} 6394 6395// GoogleCloudVisionV1p2beta1WebDetectionParams: Parameters for web 6396// detection request. 6397type GoogleCloudVisionV1p2beta1WebDetectionParams struct { 6398 // IncludeGeoResults: Whether to include results derived from the geo 6399 // information in the image. 6400 IncludeGeoResults bool `json:"includeGeoResults,omitempty"` 6401 6402 // ForceSendFields is a list of field names (e.g. "IncludeGeoResults") 6403 // to unconditionally include in API requests. By default, fields with 6404 // empty or default values are omitted from API requests. However, any 6405 // non-pointer, non-interface field appearing in ForceSendFields will be 6406 // sent to the server regardless of whether the field is empty or not. 6407 // This may be used to include empty fields in Patch requests. 6408 ForceSendFields []string `json:"-"` 6409 6410 // NullFields is a list of field names (e.g. "IncludeGeoResults") to 6411 // include in API requests with the JSON null value. By default, fields 6412 // with empty values are omitted from API requests. However, any field 6413 // with an empty value appearing in NullFields will be sent to the 6414 // server as null. It is an error if a field in this list has a 6415 // non-empty value. This may be used to include null fields in Patch 6416 // requests. 6417 NullFields []string `json:"-"` 6418} 6419 6420func (s *GoogleCloudVisionV1p2beta1WebDetectionParams) MarshalJSON() ([]byte, error) { 6421 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionParams 6422 raw := NoMethod(*s) 6423 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6424} 6425 6426// GoogleCloudVisionV1p2beta1WebDetectionWebEntity: Entity deduced from 6427// similar images on the Internet. 6428type GoogleCloudVisionV1p2beta1WebDetectionWebEntity struct { 6429 // Description: Canonical description of the entity, in English. 6430 Description string `json:"description,omitempty"` 6431 6432 // EntityId: Opaque entity ID. 6433 EntityId string `json:"entityId,omitempty"` 6434 6435 // Score: Overall relevancy score for the entity. Not normalized and not 6436 // comparable across different image queries. 6437 Score float64 `json:"score,omitempty"` 6438 6439 // ForceSendFields is a list of field names (e.g. "Description") to 6440 // unconditionally include in API requests. By default, fields with 6441 // empty or default values are omitted from API requests. However, any 6442 // non-pointer, non-interface field appearing in ForceSendFields will be 6443 // sent to the server regardless of whether the field is empty or not. 6444 // This may be used to include empty fields in Patch requests. 6445 ForceSendFields []string `json:"-"` 6446 6447 // NullFields is a list of field names (e.g. "Description") to include 6448 // in API requests with the JSON null value. By default, fields with 6449 // empty values are omitted from API requests. However, any field with 6450 // an empty value appearing in NullFields will be sent to the server as 6451 // null. It is an error if a field in this list has a non-empty value. 6452 // This may be used to include null fields in Patch requests. 6453 NullFields []string `json:"-"` 6454} 6455 6456func (s *GoogleCloudVisionV1p2beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 6457 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebEntity 6458 raw := NoMethod(*s) 6459 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6460} 6461 6462func (s *GoogleCloudVisionV1p2beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 6463 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebEntity 6464 var s1 struct { 6465 Score gensupport.JSONFloat64 `json:"score"` 6466 *NoMethod 6467 } 6468 s1.NoMethod = (*NoMethod)(s) 6469 if err := json.Unmarshal(data, &s1); err != nil { 6470 return err 6471 } 6472 s.Score = float64(s1.Score) 6473 return nil 6474} 6475 6476// GoogleCloudVisionV1p2beta1WebDetectionWebImage: Metadata for online 6477// images. 6478type GoogleCloudVisionV1p2beta1WebDetectionWebImage struct { 6479 // Score: (Deprecated) Overall relevancy score for the image. 6480 Score float64 `json:"score,omitempty"` 6481 6482 // Url: The result image URL. 6483 Url string `json:"url,omitempty"` 6484 6485 // ForceSendFields is a list of field names (e.g. "Score") to 6486 // unconditionally include in API requests. By default, fields with 6487 // empty or default values are omitted from API requests. However, any 6488 // non-pointer, non-interface field appearing in ForceSendFields will be 6489 // sent to the server regardless of whether the field is empty or not. 6490 // This may be used to include empty fields in Patch requests. 6491 ForceSendFields []string `json:"-"` 6492 6493 // NullFields is a list of field names (e.g. "Score") to include in API 6494 // requests with the JSON null value. By default, fields with empty 6495 // values are omitted from API requests. However, any field with an 6496 // empty value appearing in NullFields will be sent to the server as 6497 // null. It is an error if a field in this list has a non-empty value. 6498 // This may be used to include null fields in Patch requests. 6499 NullFields []string `json:"-"` 6500} 6501 6502func (s *GoogleCloudVisionV1p2beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 6503 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebImage 6504 raw := NoMethod(*s) 6505 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6506} 6507 6508func (s *GoogleCloudVisionV1p2beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 6509 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebImage 6510 var s1 struct { 6511 Score gensupport.JSONFloat64 `json:"score"` 6512 *NoMethod 6513 } 6514 s1.NoMethod = (*NoMethod)(s) 6515 if err := json.Unmarshal(data, &s1); err != nil { 6516 return err 6517 } 6518 s.Score = float64(s1.Score) 6519 return nil 6520} 6521 6522// GoogleCloudVisionV1p2beta1WebDetectionWebLabel: Label to provide 6523// extra metadata for the web detection. 6524type GoogleCloudVisionV1p2beta1WebDetectionWebLabel struct { 6525 // Label: Label for extra metadata. 6526 Label string `json:"label,omitempty"` 6527 6528 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 6529 // or "sr-Latn". For more information, see 6530 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 6531 LanguageCode string `json:"languageCode,omitempty"` 6532 6533 // ForceSendFields is a list of field names (e.g. "Label") to 6534 // unconditionally include in API requests. By default, fields with 6535 // empty or default values are omitted from API requests. However, any 6536 // non-pointer, non-interface field appearing in ForceSendFields will be 6537 // sent to the server regardless of whether the field is empty or not. 6538 // This may be used to include empty fields in Patch requests. 6539 ForceSendFields []string `json:"-"` 6540 6541 // NullFields is a list of field names (e.g. "Label") to include in API 6542 // requests with the JSON null value. By default, fields with empty 6543 // values are omitted from API requests. However, any field with an 6544 // empty value appearing in NullFields will be sent to the server as 6545 // null. It is an error if a field in this list has a non-empty value. 6546 // This may be used to include null fields in Patch requests. 6547 NullFields []string `json:"-"` 6548} 6549 6550func (s *GoogleCloudVisionV1p2beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 6551 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebLabel 6552 raw := NoMethod(*s) 6553 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6554} 6555 6556// GoogleCloudVisionV1p2beta1WebDetectionWebPage: Metadata for web 6557// pages. 6558type GoogleCloudVisionV1p2beta1WebDetectionWebPage struct { 6559 // FullMatchingImages: Fully matching images on the page. Can include 6560 // resized copies of the query image. 6561 FullMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 6562 6563 // PageTitle: Title for the web page, may contain HTML markups. 6564 PageTitle string `json:"pageTitle,omitempty"` 6565 6566 // PartialMatchingImages: Partial matching images on the page. Those 6567 // images are similar enough to share some key-point features. For 6568 // example an original image will likely have partial matching for its 6569 // crops. 6570 PartialMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 6571 6572 // Score: (Deprecated) Overall relevancy score for the web page. 6573 Score float64 `json:"score,omitempty"` 6574 6575 // Url: The result web page URL. 6576 Url string `json:"url,omitempty"` 6577 6578 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 6579 // to unconditionally include in API requests. By default, fields with 6580 // empty or default values are omitted from API requests. However, any 6581 // non-pointer, non-interface field appearing in ForceSendFields will be 6582 // sent to the server regardless of whether the field is empty or not. 6583 // This may be used to include empty fields in Patch requests. 6584 ForceSendFields []string `json:"-"` 6585 6586 // NullFields is a list of field names (e.g. "FullMatchingImages") to 6587 // include in API requests with the JSON null value. By default, fields 6588 // with empty values are omitted from API requests. However, any field 6589 // with an empty value appearing in NullFields will be sent to the 6590 // server as null. It is an error if a field in this list has a 6591 // non-empty value. This may be used to include null fields in Patch 6592 // requests. 6593 NullFields []string `json:"-"` 6594} 6595 6596func (s *GoogleCloudVisionV1p2beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 6597 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebPage 6598 raw := NoMethod(*s) 6599 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6600} 6601 6602func (s *GoogleCloudVisionV1p2beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 6603 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebPage 6604 var s1 struct { 6605 Score gensupport.JSONFloat64 `json:"score"` 6606 *NoMethod 6607 } 6608 s1.NoMethod = (*NoMethod)(s) 6609 if err := json.Unmarshal(data, &s1); err != nil { 6610 return err 6611 } 6612 s.Score = float64(s1.Score) 6613 return nil 6614} 6615 6616// GoogleCloudVisionV1p2beta1Word: A word representation. 6617type GoogleCloudVisionV1p2beta1Word struct { 6618 // BoundingBox: The bounding box for the word. The vertices are in the 6619 // order of top-left, top-right, bottom-right, bottom-left. When a 6620 // rotation of the bounding box is detected the rotation is represented 6621 // as around the top-left corner as defined when the text is read in the 6622 // 'natural' orientation. For example: * when the text is horizontal it 6623 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 6624 // around the top-left corner it becomes: 2----3 | | 1----0 and the 6625 // vertex order will still be (0, 1, 2, 3). 6626 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 6627 6628 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 6629 Confidence float64 `json:"confidence,omitempty"` 6630 6631 // Property: Additional information detected for the word. 6632 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 6633 6634 // Symbols: List of symbols in the word. The order of the symbols 6635 // follows the natural reading order. 6636 Symbols []*GoogleCloudVisionV1p2beta1Symbol `json:"symbols,omitempty"` 6637 6638 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 6639 // unconditionally include in API requests. By default, fields with 6640 // empty or default values are omitted from API requests. However, any 6641 // non-pointer, non-interface field appearing in ForceSendFields will be 6642 // sent to the server regardless of whether the field is empty or not. 6643 // This may be used to include empty fields in Patch requests. 6644 ForceSendFields []string `json:"-"` 6645 6646 // NullFields is a list of field names (e.g. "BoundingBox") to include 6647 // in API requests with the JSON null value. By default, fields with 6648 // empty values are omitted from API requests. However, any field with 6649 // an empty value appearing in NullFields will be sent to the server as 6650 // null. It is an error if a field in this list has a non-empty value. 6651 // This may be used to include null fields in Patch requests. 6652 NullFields []string `json:"-"` 6653} 6654 6655func (s *GoogleCloudVisionV1p2beta1Word) MarshalJSON() ([]byte, error) { 6656 type NoMethod GoogleCloudVisionV1p2beta1Word 6657 raw := NoMethod(*s) 6658 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6659} 6660 6661func (s *GoogleCloudVisionV1p2beta1Word) UnmarshalJSON(data []byte) error { 6662 type NoMethod GoogleCloudVisionV1p2beta1Word 6663 var s1 struct { 6664 Confidence gensupport.JSONFloat64 `json:"confidence"` 6665 *NoMethod 6666 } 6667 s1.NoMethod = (*NoMethod)(s) 6668 if err := json.Unmarshal(data, &s1); err != nil { 6669 return err 6670 } 6671 s.Confidence = float64(s1.Confidence) 6672 return nil 6673} 6674 6675// GoogleCloudVisionV1p3beta1AnnotateFileResponse: Response to a single 6676// file annotation request. A file may contain one or more images, which 6677// individually have their own responses. 6678type GoogleCloudVisionV1p3beta1AnnotateFileResponse struct { 6679 // Error: If set, represents the error message for the failed request. 6680 // The `responses` field will not be set in this case. 6681 Error *Status `json:"error,omitempty"` 6682 6683 // InputConfig: Information about the file for which this response is 6684 // generated. 6685 InputConfig *GoogleCloudVisionV1p3beta1InputConfig `json:"inputConfig,omitempty"` 6686 6687 // Responses: Individual responses to images found within the file. This 6688 // field will be empty if the `error` field is set. 6689 Responses []*GoogleCloudVisionV1p3beta1AnnotateImageResponse `json:"responses,omitempty"` 6690 6691 // TotalPages: This field gives the total number of pages in the file. 6692 TotalPages int64 `json:"totalPages,omitempty"` 6693 6694 // ForceSendFields is a list of field names (e.g. "Error") to 6695 // unconditionally include in API requests. By default, fields with 6696 // empty or default values are omitted from API requests. However, any 6697 // non-pointer, non-interface field appearing in ForceSendFields will be 6698 // sent to the server regardless of whether the field is empty or not. 6699 // This may be used to include empty fields in Patch requests. 6700 ForceSendFields []string `json:"-"` 6701 6702 // NullFields is a list of field names (e.g. "Error") to include in API 6703 // requests with the JSON null value. By default, fields with empty 6704 // values are omitted from API requests. However, any field with an 6705 // empty value appearing in NullFields will be sent to the server as 6706 // null. It is an error if a field in this list has a non-empty value. 6707 // This may be used to include null fields in Patch requests. 6708 NullFields []string `json:"-"` 6709} 6710 6711func (s *GoogleCloudVisionV1p3beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 6712 type NoMethod GoogleCloudVisionV1p3beta1AnnotateFileResponse 6713 raw := NoMethod(*s) 6714 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6715} 6716 6717// GoogleCloudVisionV1p3beta1AnnotateImageResponse: Response to an image 6718// annotation request. 6719type GoogleCloudVisionV1p3beta1AnnotateImageResponse struct { 6720 // Context: If present, contextual information is needed to understand 6721 // where this image comes from. 6722 Context *GoogleCloudVisionV1p3beta1ImageAnnotationContext `json:"context,omitempty"` 6723 6724 // CropHintsAnnotation: If present, crop hints have completed 6725 // successfully. 6726 CropHintsAnnotation *GoogleCloudVisionV1p3beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 6727 6728 // Error: If set, represents the error message for the operation. Note 6729 // that filled-in image annotations are guaranteed to be correct, even 6730 // when `error` is set. 6731 Error *Status `json:"error,omitempty"` 6732 6733 // FaceAnnotations: If present, face detection has completed 6734 // successfully. 6735 FaceAnnotations []*GoogleCloudVisionV1p3beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 6736 6737 // FullTextAnnotation: If present, text (OCR) detection or document 6738 // (OCR) text detection has completed successfully. This annotation 6739 // provides the structural hierarchy for the OCR detected text. 6740 FullTextAnnotation *GoogleCloudVisionV1p3beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 6741 6742 // ImagePropertiesAnnotation: If present, image properties were 6743 // extracted successfully. 6744 ImagePropertiesAnnotation *GoogleCloudVisionV1p3beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 6745 6746 // LabelAnnotations: If present, label detection has completed 6747 // successfully. 6748 LabelAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 6749 6750 // LandmarkAnnotations: If present, landmark detection has completed 6751 // successfully. 6752 LandmarkAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 6753 6754 // LocalizedObjectAnnotations: If present, localized object detection 6755 // has completed successfully. This will be sorted descending by 6756 // confidence score. 6757 LocalizedObjectAnnotations []*GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 6758 6759 // LogoAnnotations: If present, logo detection has completed 6760 // successfully. 6761 LogoAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 6762 6763 // ProductSearchResults: If present, product search has completed 6764 // successfully. 6765 ProductSearchResults *GoogleCloudVisionV1p3beta1ProductSearchResults `json:"productSearchResults,omitempty"` 6766 6767 // SafeSearchAnnotation: If present, safe-search annotation has 6768 // completed successfully. 6769 SafeSearchAnnotation *GoogleCloudVisionV1p3beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 6770 6771 // TextAnnotations: If present, text (OCR) detection has completed 6772 // successfully. 6773 TextAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"textAnnotations,omitempty"` 6774 6775 // WebDetection: If present, web detection has completed successfully. 6776 WebDetection *GoogleCloudVisionV1p3beta1WebDetection `json:"webDetection,omitempty"` 6777 6778 // ForceSendFields is a list of field names (e.g. "Context") to 6779 // unconditionally include in API requests. By default, fields with 6780 // empty or default values are omitted from API requests. However, any 6781 // non-pointer, non-interface field appearing in ForceSendFields will be 6782 // sent to the server regardless of whether the field is empty or not. 6783 // This may be used to include empty fields in Patch requests. 6784 ForceSendFields []string `json:"-"` 6785 6786 // NullFields is a list of field names (e.g. "Context") to include in 6787 // API requests with the JSON null value. By default, fields with empty 6788 // values are omitted from API requests. However, any field with an 6789 // empty value appearing in NullFields will be sent to the server as 6790 // null. It is an error if a field in this list has a non-empty value. 6791 // This may be used to include null fields in Patch requests. 6792 NullFields []string `json:"-"` 6793} 6794 6795func (s *GoogleCloudVisionV1p3beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 6796 type NoMethod GoogleCloudVisionV1p3beta1AnnotateImageResponse 6797 raw := NoMethod(*s) 6798 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6799} 6800 6801// GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse: The response for 6802// a single offline file annotation request. 6803type GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse struct { 6804 // OutputConfig: The output location and metadata from 6805 // AsyncAnnotateFileRequest. 6806 OutputConfig *GoogleCloudVisionV1p3beta1OutputConfig `json:"outputConfig,omitempty"` 6807 6808 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 6809 // unconditionally include in API requests. By default, fields with 6810 // empty or default values are omitted from API requests. However, any 6811 // non-pointer, non-interface field appearing in ForceSendFields will be 6812 // sent to the server regardless of whether the field is empty or not. 6813 // This may be used to include empty fields in Patch requests. 6814 ForceSendFields []string `json:"-"` 6815 6816 // NullFields is a list of field names (e.g. "OutputConfig") to include 6817 // in API requests with the JSON null value. By default, fields with 6818 // empty values are omitted from API requests. However, any field with 6819 // an empty value appearing in NullFields will be sent to the server as 6820 // null. It is an error if a field in this list has a non-empty value. 6821 // This may be used to include null fields in Patch requests. 6822 NullFields []string `json:"-"` 6823} 6824 6825func (s *GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 6826 type NoMethod GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse 6827 raw := NoMethod(*s) 6828 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6829} 6830 6831// GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse: Response 6832// to an async batch file annotation request. 6833type GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse struct { 6834 // Responses: The list of file annotation responses, one for each 6835 // request in AsyncBatchAnnotateFilesRequest. 6836 Responses []*GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 6837 6838 // ForceSendFields is a list of field names (e.g. "Responses") to 6839 // unconditionally include in API requests. By default, fields with 6840 // empty or default values are omitted from API requests. However, any 6841 // non-pointer, non-interface field appearing in ForceSendFields will be 6842 // sent to the server regardless of whether the field is empty or not. 6843 // This may be used to include empty fields in Patch requests. 6844 ForceSendFields []string `json:"-"` 6845 6846 // NullFields is a list of field names (e.g. "Responses") to include in 6847 // API requests with the JSON null value. By default, fields with empty 6848 // values are omitted from API requests. However, any field with an 6849 // empty value appearing in NullFields will be sent to the server as 6850 // null. It is an error if a field in this list has a non-empty value. 6851 // This may be used to include null fields in Patch requests. 6852 NullFields []string `json:"-"` 6853} 6854 6855func (s *GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 6856 type NoMethod GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse 6857 raw := NoMethod(*s) 6858 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6859} 6860 6861// GoogleCloudVisionV1p3beta1BatchOperationMetadata: Metadata for the 6862// batch operations such as the current state. This is included in the 6863// `metadata` field of the `Operation` returned by the `GetOperation` 6864// call of the `google::longrunning::Operations` service. 6865type GoogleCloudVisionV1p3beta1BatchOperationMetadata struct { 6866 // EndTime: The time when the batch request is finished and 6867 // google.longrunning.Operation.done is set to true. 6868 EndTime string `json:"endTime,omitempty"` 6869 6870 // State: The current state of the batch operation. 6871 // 6872 // Possible values: 6873 // "STATE_UNSPECIFIED" - Invalid. 6874 // "PROCESSING" - Request is actively being processed. 6875 // "SUCCESSFUL" - The request is done and at least one item has been 6876 // successfully processed. 6877 // "FAILED" - The request is done and no item has been successfully 6878 // processed. 6879 // "CANCELLED" - The request is done after the 6880 // longrunning.Operations.CancelOperation has been called by the user. 6881 // Any records that were processed before the cancel command are output 6882 // as specified in the request. 6883 State string `json:"state,omitempty"` 6884 6885 // SubmitTime: The time when the batch request was submitted to the 6886 // server. 6887 SubmitTime string `json:"submitTime,omitempty"` 6888 6889 // ForceSendFields is a list of field names (e.g. "EndTime") to 6890 // unconditionally include in API requests. By default, fields with 6891 // empty or default values are omitted from API requests. However, any 6892 // non-pointer, non-interface field appearing in ForceSendFields will be 6893 // sent to the server regardless of whether the field is empty or not. 6894 // This may be used to include empty fields in Patch requests. 6895 ForceSendFields []string `json:"-"` 6896 6897 // NullFields is a list of field names (e.g. "EndTime") to include in 6898 // API requests with the JSON null value. By default, fields with empty 6899 // values are omitted from API requests. However, any field with an 6900 // empty value appearing in NullFields will be sent to the server as 6901 // null. It is an error if a field in this list has a non-empty value. 6902 // This may be used to include null fields in Patch requests. 6903 NullFields []string `json:"-"` 6904} 6905 6906func (s *GoogleCloudVisionV1p3beta1BatchOperationMetadata) MarshalJSON() ([]byte, error) { 6907 type NoMethod GoogleCloudVisionV1p3beta1BatchOperationMetadata 6908 raw := NoMethod(*s) 6909 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6910} 6911 6912// GoogleCloudVisionV1p3beta1Block: Logical element on the page. 6913type GoogleCloudVisionV1p3beta1Block struct { 6914 // BlockType: Detected block type (text, image etc) for this block. 6915 // 6916 // Possible values: 6917 // "UNKNOWN" - Unknown block type. 6918 // "TEXT" - Regular text block. 6919 // "TABLE" - Table block. 6920 // "PICTURE" - Image block. 6921 // "RULER" - Horizontal/vertical line box. 6922 // "BARCODE" - Barcode block. 6923 BlockType string `json:"blockType,omitempty"` 6924 6925 // BoundingBox: The bounding box for the block. The vertices are in the 6926 // order of top-left, top-right, bottom-right, bottom-left. When a 6927 // rotation of the bounding box is detected the rotation is represented 6928 // as around the top-left corner as defined when the text is read in the 6929 // 'natural' orientation. For example: * when the text is horizontal it 6930 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 6931 // around the top-left corner it becomes: 2----3 | | 1----0 and the 6932 // vertex order will still be (0, 1, 2, 3). 6933 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 6934 6935 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 6936 Confidence float64 `json:"confidence,omitempty"` 6937 6938 // Paragraphs: List of paragraphs in this block (if this blocks is of 6939 // type text). 6940 Paragraphs []*GoogleCloudVisionV1p3beta1Paragraph `json:"paragraphs,omitempty"` 6941 6942 // Property: Additional information detected for the block. 6943 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 6944 6945 // ForceSendFields is a list of field names (e.g. "BlockType") to 6946 // unconditionally include in API requests. By default, fields with 6947 // empty or default values are omitted from API requests. However, any 6948 // non-pointer, non-interface field appearing in ForceSendFields will be 6949 // sent to the server regardless of whether the field is empty or not. 6950 // This may be used to include empty fields in Patch requests. 6951 ForceSendFields []string `json:"-"` 6952 6953 // NullFields is a list of field names (e.g. "BlockType") to include in 6954 // API requests with the JSON null value. By default, fields with empty 6955 // values are omitted from API requests. However, any field with an 6956 // empty value appearing in NullFields will be sent to the server as 6957 // null. It is an error if a field in this list has a non-empty value. 6958 // This may be used to include null fields in Patch requests. 6959 NullFields []string `json:"-"` 6960} 6961 6962func (s *GoogleCloudVisionV1p3beta1Block) MarshalJSON() ([]byte, error) { 6963 type NoMethod GoogleCloudVisionV1p3beta1Block 6964 raw := NoMethod(*s) 6965 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6966} 6967 6968func (s *GoogleCloudVisionV1p3beta1Block) UnmarshalJSON(data []byte) error { 6969 type NoMethod GoogleCloudVisionV1p3beta1Block 6970 var s1 struct { 6971 Confidence gensupport.JSONFloat64 `json:"confidence"` 6972 *NoMethod 6973 } 6974 s1.NoMethod = (*NoMethod)(s) 6975 if err := json.Unmarshal(data, &s1); err != nil { 6976 return err 6977 } 6978 s.Confidence = float64(s1.Confidence) 6979 return nil 6980} 6981 6982// GoogleCloudVisionV1p3beta1BoundingPoly: A bounding polygon for the 6983// detected image annotation. 6984type GoogleCloudVisionV1p3beta1BoundingPoly struct { 6985 // NormalizedVertices: The bounding polygon normalized vertices. 6986 NormalizedVertices []*GoogleCloudVisionV1p3beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 6987 6988 // Vertices: The bounding polygon vertices. 6989 Vertices []*GoogleCloudVisionV1p3beta1Vertex `json:"vertices,omitempty"` 6990 6991 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 6992 // to unconditionally include in API requests. By default, fields with 6993 // empty or default values are omitted from API requests. However, any 6994 // non-pointer, non-interface field appearing in ForceSendFields will be 6995 // sent to the server regardless of whether the field is empty or not. 6996 // This may be used to include empty fields in Patch requests. 6997 ForceSendFields []string `json:"-"` 6998 6999 // NullFields is a list of field names (e.g. "NormalizedVertices") to 7000 // include in API requests with the JSON null value. By default, fields 7001 // with empty values are omitted from API requests. However, any field 7002 // with an empty value appearing in NullFields will be sent to the 7003 // server as null. It is an error if a field in this list has a 7004 // non-empty value. This may be used to include null fields in Patch 7005 // requests. 7006 NullFields []string `json:"-"` 7007} 7008 7009func (s *GoogleCloudVisionV1p3beta1BoundingPoly) MarshalJSON() ([]byte, error) { 7010 type NoMethod GoogleCloudVisionV1p3beta1BoundingPoly 7011 raw := NoMethod(*s) 7012 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7013} 7014 7015// GoogleCloudVisionV1p3beta1ColorInfo: Color information consists of 7016// RGB channels, score, and the fraction of the image that the color 7017// occupies in the image. 7018type GoogleCloudVisionV1p3beta1ColorInfo struct { 7019 // Color: RGB components of the color. 7020 Color *Color `json:"color,omitempty"` 7021 7022 // PixelFraction: The fraction of pixels the color occupies in the 7023 // image. Value in range [0, 1]. 7024 PixelFraction float64 `json:"pixelFraction,omitempty"` 7025 7026 // Score: Image-specific score for this color. Value in range [0, 1]. 7027 Score float64 `json:"score,omitempty"` 7028 7029 // ForceSendFields is a list of field names (e.g. "Color") to 7030 // unconditionally include in API requests. By default, fields with 7031 // empty or default values are omitted from API requests. However, any 7032 // non-pointer, non-interface field appearing in ForceSendFields will be 7033 // sent to the server regardless of whether the field is empty or not. 7034 // This may be used to include empty fields in Patch requests. 7035 ForceSendFields []string `json:"-"` 7036 7037 // NullFields is a list of field names (e.g. "Color") to include in API 7038 // requests with the JSON null value. By default, fields with empty 7039 // values are omitted from API requests. However, any field with an 7040 // empty value appearing in NullFields will be sent to the server as 7041 // null. It is an error if a field in this list has a non-empty value. 7042 // This may be used to include null fields in Patch requests. 7043 NullFields []string `json:"-"` 7044} 7045 7046func (s *GoogleCloudVisionV1p3beta1ColorInfo) MarshalJSON() ([]byte, error) { 7047 type NoMethod GoogleCloudVisionV1p3beta1ColorInfo 7048 raw := NoMethod(*s) 7049 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7050} 7051 7052func (s *GoogleCloudVisionV1p3beta1ColorInfo) UnmarshalJSON(data []byte) error { 7053 type NoMethod GoogleCloudVisionV1p3beta1ColorInfo 7054 var s1 struct { 7055 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 7056 Score gensupport.JSONFloat64 `json:"score"` 7057 *NoMethod 7058 } 7059 s1.NoMethod = (*NoMethod)(s) 7060 if err := json.Unmarshal(data, &s1); err != nil { 7061 return err 7062 } 7063 s.PixelFraction = float64(s1.PixelFraction) 7064 s.Score = float64(s1.Score) 7065 return nil 7066} 7067 7068// GoogleCloudVisionV1p3beta1CropHint: Single crop hint that is used to 7069// generate a new crop when serving an image. 7070type GoogleCloudVisionV1p3beta1CropHint struct { 7071 // BoundingPoly: The bounding polygon for the crop region. The 7072 // coordinates of the bounding box are in the original image's scale. 7073 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 7074 7075 // Confidence: Confidence of this being a salient region. Range [0, 1]. 7076 Confidence float64 `json:"confidence,omitempty"` 7077 7078 // ImportanceFraction: Fraction of importance of this salient region 7079 // with respect to the original image. 7080 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 7081 7082 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 7083 // unconditionally include in API requests. By default, fields with 7084 // empty or default values are omitted from API requests. However, any 7085 // non-pointer, non-interface field appearing in ForceSendFields will be 7086 // sent to the server regardless of whether the field is empty or not. 7087 // This may be used to include empty fields in Patch requests. 7088 ForceSendFields []string `json:"-"` 7089 7090 // NullFields is a list of field names (e.g. "BoundingPoly") to include 7091 // in API requests with the JSON null value. By default, fields with 7092 // empty values are omitted from API requests. However, any field with 7093 // an empty value appearing in NullFields will be sent to the server as 7094 // null. It is an error if a field in this list has a non-empty value. 7095 // This may be used to include null fields in Patch requests. 7096 NullFields []string `json:"-"` 7097} 7098 7099func (s *GoogleCloudVisionV1p3beta1CropHint) MarshalJSON() ([]byte, error) { 7100 type NoMethod GoogleCloudVisionV1p3beta1CropHint 7101 raw := NoMethod(*s) 7102 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7103} 7104 7105func (s *GoogleCloudVisionV1p3beta1CropHint) UnmarshalJSON(data []byte) error { 7106 type NoMethod GoogleCloudVisionV1p3beta1CropHint 7107 var s1 struct { 7108 Confidence gensupport.JSONFloat64 `json:"confidence"` 7109 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 7110 *NoMethod 7111 } 7112 s1.NoMethod = (*NoMethod)(s) 7113 if err := json.Unmarshal(data, &s1); err != nil { 7114 return err 7115 } 7116 s.Confidence = float64(s1.Confidence) 7117 s.ImportanceFraction = float64(s1.ImportanceFraction) 7118 return nil 7119} 7120 7121// GoogleCloudVisionV1p3beta1CropHintsAnnotation: Set of crop hints that 7122// are used to generate new crops when serving images. 7123type GoogleCloudVisionV1p3beta1CropHintsAnnotation struct { 7124 // CropHints: Crop hint results. 7125 CropHints []*GoogleCloudVisionV1p3beta1CropHint `json:"cropHints,omitempty"` 7126 7127 // ForceSendFields is a list of field names (e.g. "CropHints") to 7128 // unconditionally include in API requests. By default, fields with 7129 // empty or default values are omitted from API requests. However, any 7130 // non-pointer, non-interface field appearing in ForceSendFields will be 7131 // sent to the server regardless of whether the field is empty or not. 7132 // This may be used to include empty fields in Patch requests. 7133 ForceSendFields []string `json:"-"` 7134 7135 // NullFields is a list of field names (e.g. "CropHints") to include in 7136 // API requests with the JSON null value. By default, fields with empty 7137 // values are omitted from API requests. However, any field with an 7138 // empty value appearing in NullFields will be sent to the server as 7139 // null. It is an error if a field in this list has a non-empty value. 7140 // This may be used to include null fields in Patch requests. 7141 NullFields []string `json:"-"` 7142} 7143 7144func (s *GoogleCloudVisionV1p3beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 7145 type NoMethod GoogleCloudVisionV1p3beta1CropHintsAnnotation 7146 raw := NoMethod(*s) 7147 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7148} 7149 7150// GoogleCloudVisionV1p3beta1DominantColorsAnnotation: Set of dominant 7151// colors and their corresponding scores. 7152type GoogleCloudVisionV1p3beta1DominantColorsAnnotation struct { 7153 // Colors: RGB color values with their score and pixel fraction. 7154 Colors []*GoogleCloudVisionV1p3beta1ColorInfo `json:"colors,omitempty"` 7155 7156 // ForceSendFields is a list of field names (e.g. "Colors") to 7157 // unconditionally include in API requests. By default, fields with 7158 // empty or default values are omitted from API requests. However, any 7159 // non-pointer, non-interface field appearing in ForceSendFields will be 7160 // sent to the server regardless of whether the field is empty or not. 7161 // This may be used to include empty fields in Patch requests. 7162 ForceSendFields []string `json:"-"` 7163 7164 // NullFields is a list of field names (e.g. "Colors") to include in API 7165 // requests with the JSON null value. By default, fields with empty 7166 // values are omitted from API requests. However, any field with an 7167 // empty value appearing in NullFields will be sent to the server as 7168 // null. It is an error if a field in this list has a non-empty value. 7169 // This may be used to include null fields in Patch requests. 7170 NullFields []string `json:"-"` 7171} 7172 7173func (s *GoogleCloudVisionV1p3beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 7174 type NoMethod GoogleCloudVisionV1p3beta1DominantColorsAnnotation 7175 raw := NoMethod(*s) 7176 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7177} 7178 7179// GoogleCloudVisionV1p3beta1EntityAnnotation: Set of detected entity 7180// features. 7181type GoogleCloudVisionV1p3beta1EntityAnnotation struct { 7182 // BoundingPoly: Image region to which this entity belongs. Not produced 7183 // for `LABEL_DETECTION` features. 7184 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 7185 7186 // Confidence: **Deprecated. Use `score` instead.** The accuracy of the 7187 // entity detection in an image. For example, for an image in which the 7188 // "Eiffel Tower" entity is detected, this field represents the 7189 // confidence that there is a tower in the query image. Range [0, 1]. 7190 Confidence float64 `json:"confidence,omitempty"` 7191 7192 // Description: Entity textual description, expressed in its `locale` 7193 // language. 7194 Description string `json:"description,omitempty"` 7195 7196 // Locale: The language code for the locale in which the entity textual 7197 // `description` is expressed. 7198 Locale string `json:"locale,omitempty"` 7199 7200 // Locations: The location information for the detected entity. Multiple 7201 // `LocationInfo` elements can be present because one location may 7202 // indicate the location of the scene in the image, and another location 7203 // may indicate the location of the place where the image was taken. 7204 // Location information is usually present for landmarks. 7205 Locations []*GoogleCloudVisionV1p3beta1LocationInfo `json:"locations,omitempty"` 7206 7207 // Mid: Opaque entity ID. Some IDs may be available in Google Knowledge 7208 // Graph Search API (https://developers.google.com/knowledge-graph/). 7209 Mid string `json:"mid,omitempty"` 7210 7211 // Properties: Some entities may have optional user-supplied `Property` 7212 // (name/value) fields, such a score or string that qualifies the 7213 // entity. 7214 Properties []*GoogleCloudVisionV1p3beta1Property `json:"properties,omitempty"` 7215 7216 // Score: Overall score of the result. Range [0, 1]. 7217 Score float64 `json:"score,omitempty"` 7218 7219 // Topicality: The relevancy of the ICA (Image Content Annotation) label 7220 // to the image. For example, the relevancy of "tower" is likely higher 7221 // to an image containing the detected "Eiffel Tower" than to an image 7222 // containing a detected distant towering building, even though the 7223 // confidence that there is a tower in each image may be the same. Range 7224 // [0, 1]. 7225 Topicality float64 `json:"topicality,omitempty"` 7226 7227 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 7228 // unconditionally include in API requests. By default, fields with 7229 // empty or default values are omitted from API requests. However, any 7230 // non-pointer, non-interface field appearing in ForceSendFields will be 7231 // sent to the server regardless of whether the field is empty or not. 7232 // This may be used to include empty fields in Patch requests. 7233 ForceSendFields []string `json:"-"` 7234 7235 // NullFields is a list of field names (e.g. "BoundingPoly") to include 7236 // in API requests with the JSON null value. By default, fields with 7237 // empty values are omitted from API requests. However, any field with 7238 // an empty value appearing in NullFields will be sent to the server as 7239 // null. It is an error if a field in this list has a non-empty value. 7240 // This may be used to include null fields in Patch requests. 7241 NullFields []string `json:"-"` 7242} 7243 7244func (s *GoogleCloudVisionV1p3beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 7245 type NoMethod GoogleCloudVisionV1p3beta1EntityAnnotation 7246 raw := NoMethod(*s) 7247 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7248} 7249 7250func (s *GoogleCloudVisionV1p3beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 7251 type NoMethod GoogleCloudVisionV1p3beta1EntityAnnotation 7252 var s1 struct { 7253 Confidence gensupport.JSONFloat64 `json:"confidence"` 7254 Score gensupport.JSONFloat64 `json:"score"` 7255 Topicality gensupport.JSONFloat64 `json:"topicality"` 7256 *NoMethod 7257 } 7258 s1.NoMethod = (*NoMethod)(s) 7259 if err := json.Unmarshal(data, &s1); err != nil { 7260 return err 7261 } 7262 s.Confidence = float64(s1.Confidence) 7263 s.Score = float64(s1.Score) 7264 s.Topicality = float64(s1.Topicality) 7265 return nil 7266} 7267 7268// GoogleCloudVisionV1p3beta1FaceAnnotation: A face annotation object 7269// contains the results of face detection. 7270type GoogleCloudVisionV1p3beta1FaceAnnotation struct { 7271 // AngerLikelihood: Anger likelihood. 7272 // 7273 // Possible values: 7274 // "UNKNOWN" - Unknown likelihood. 7275 // "VERY_UNLIKELY" - It is very unlikely. 7276 // "UNLIKELY" - It is unlikely. 7277 // "POSSIBLE" - It is possible. 7278 // "LIKELY" - It is likely. 7279 // "VERY_LIKELY" - It is very likely. 7280 AngerLikelihood string `json:"angerLikelihood,omitempty"` 7281 7282 // BlurredLikelihood: Blurred likelihood. 7283 // 7284 // Possible values: 7285 // "UNKNOWN" - Unknown likelihood. 7286 // "VERY_UNLIKELY" - It is very unlikely. 7287 // "UNLIKELY" - It is unlikely. 7288 // "POSSIBLE" - It is possible. 7289 // "LIKELY" - It is likely. 7290 // "VERY_LIKELY" - It is very likely. 7291 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 7292 7293 // BoundingPoly: The bounding polygon around the face. The coordinates 7294 // of the bounding box are in the original image's scale. The bounding 7295 // box is computed to "frame" the face in accordance with human 7296 // expectations. It is based on the landmarker results. Note that one or 7297 // more x and/or y coordinates may not be generated in the 7298 // `BoundingPoly` (the polygon will be unbounded) if only a partial face 7299 // appears in the image to be annotated. 7300 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 7301 7302 // DetectionConfidence: Detection confidence. Range [0, 1]. 7303 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 7304 7305 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 7306 // than the `boundingPoly`, and encloses only the skin part of the face. 7307 // Typically, it is used to eliminate the face from any image analysis 7308 // that detects the "amount of skin" visible in an image. It is not 7309 // based on the landmarker results, only on the initial face detection, 7310 // hence the fd (face detection) prefix. 7311 FdBoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 7312 7313 // HeadwearLikelihood: Headwear likelihood. 7314 // 7315 // Possible values: 7316 // "UNKNOWN" - Unknown likelihood. 7317 // "VERY_UNLIKELY" - It is very unlikely. 7318 // "UNLIKELY" - It is unlikely. 7319 // "POSSIBLE" - It is possible. 7320 // "LIKELY" - It is likely. 7321 // "VERY_LIKELY" - It is very likely. 7322 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 7323 7324 // JoyLikelihood: Joy likelihood. 7325 // 7326 // Possible values: 7327 // "UNKNOWN" - Unknown likelihood. 7328 // "VERY_UNLIKELY" - It is very unlikely. 7329 // "UNLIKELY" - It is unlikely. 7330 // "POSSIBLE" - It is possible. 7331 // "LIKELY" - It is likely. 7332 // "VERY_LIKELY" - It is very likely. 7333 JoyLikelihood string `json:"joyLikelihood,omitempty"` 7334 7335 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 7336 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 7337 7338 // Landmarks: Detected face landmarks. 7339 Landmarks []*GoogleCloudVisionV1p3beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 7340 7341 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 7342 // that the face is pointing relative to the vertical plane 7343 // perpendicular to the image. Range [-180,180]. 7344 PanAngle float64 `json:"panAngle,omitempty"` 7345 7346 // RollAngle: Roll angle, which indicates the amount of 7347 // clockwise/anti-clockwise rotation of the face relative to the image 7348 // vertical about the axis perpendicular to the face. Range [-180,180]. 7349 RollAngle float64 `json:"rollAngle,omitempty"` 7350 7351 // SorrowLikelihood: Sorrow likelihood. 7352 // 7353 // Possible values: 7354 // "UNKNOWN" - Unknown likelihood. 7355 // "VERY_UNLIKELY" - It is very unlikely. 7356 // "UNLIKELY" - It is unlikely. 7357 // "POSSIBLE" - It is possible. 7358 // "LIKELY" - It is likely. 7359 // "VERY_LIKELY" - It is very likely. 7360 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 7361 7362 // SurpriseLikelihood: Surprise likelihood. 7363 // 7364 // Possible values: 7365 // "UNKNOWN" - Unknown likelihood. 7366 // "VERY_UNLIKELY" - It is very unlikely. 7367 // "UNLIKELY" - It is unlikely. 7368 // "POSSIBLE" - It is possible. 7369 // "LIKELY" - It is likely. 7370 // "VERY_LIKELY" - It is very likely. 7371 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 7372 7373 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 7374 // that the face is pointing relative to the image's horizontal plane. 7375 // Range [-180,180]. 7376 TiltAngle float64 `json:"tiltAngle,omitempty"` 7377 7378 // UnderExposedLikelihood: Under-exposed likelihood. 7379 // 7380 // Possible values: 7381 // "UNKNOWN" - Unknown likelihood. 7382 // "VERY_UNLIKELY" - It is very unlikely. 7383 // "UNLIKELY" - It is unlikely. 7384 // "POSSIBLE" - It is possible. 7385 // "LIKELY" - It is likely. 7386 // "VERY_LIKELY" - It is very likely. 7387 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 7388 7389 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 7390 // unconditionally include in API requests. By default, fields with 7391 // empty or default values are omitted from API requests. However, any 7392 // non-pointer, non-interface field appearing in ForceSendFields will be 7393 // sent to the server regardless of whether the field is empty or not. 7394 // This may be used to include empty fields in Patch requests. 7395 ForceSendFields []string `json:"-"` 7396 7397 // NullFields is a list of field names (e.g. "AngerLikelihood") to 7398 // include in API requests with the JSON null value. By default, fields 7399 // with empty values are omitted from API requests. However, any field 7400 // with an empty value appearing in NullFields will be sent to the 7401 // server as null. It is an error if a field in this list has a 7402 // non-empty value. This may be used to include null fields in Patch 7403 // requests. 7404 NullFields []string `json:"-"` 7405} 7406 7407func (s *GoogleCloudVisionV1p3beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 7408 type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotation 7409 raw := NoMethod(*s) 7410 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7411} 7412 7413func (s *GoogleCloudVisionV1p3beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 7414 type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotation 7415 var s1 struct { 7416 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 7417 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 7418 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 7419 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 7420 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 7421 *NoMethod 7422 } 7423 s1.NoMethod = (*NoMethod)(s) 7424 if err := json.Unmarshal(data, &s1); err != nil { 7425 return err 7426 } 7427 s.DetectionConfidence = float64(s1.DetectionConfidence) 7428 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 7429 s.PanAngle = float64(s1.PanAngle) 7430 s.RollAngle = float64(s1.RollAngle) 7431 s.TiltAngle = float64(s1.TiltAngle) 7432 return nil 7433} 7434 7435// GoogleCloudVisionV1p3beta1FaceAnnotationLandmark: A face-specific 7436// landmark (for example, a face feature). 7437type GoogleCloudVisionV1p3beta1FaceAnnotationLandmark struct { 7438 // Position: Face landmark position. 7439 Position *GoogleCloudVisionV1p3beta1Position `json:"position,omitempty"` 7440 7441 // Type: Face landmark type. 7442 // 7443 // Possible values: 7444 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 7445 // filled. 7446 // "LEFT_EYE" - Left eye. 7447 // "RIGHT_EYE" - Right eye. 7448 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 7449 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 7450 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 7451 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 7452 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 7453 // "NOSE_TIP" - Nose tip. 7454 // "UPPER_LIP" - Upper lip. 7455 // "LOWER_LIP" - Lower lip. 7456 // "MOUTH_LEFT" - Mouth left. 7457 // "MOUTH_RIGHT" - Mouth right. 7458 // "MOUTH_CENTER" - Mouth center. 7459 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 7460 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 7461 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 7462 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 7463 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 7464 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 7465 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 7466 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 7467 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 7468 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 7469 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 7470 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 7471 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 7472 // "LEFT_EAR_TRAGION" - Left ear tragion. 7473 // "RIGHT_EAR_TRAGION" - Right ear tragion. 7474 // "LEFT_EYE_PUPIL" - Left eye pupil. 7475 // "RIGHT_EYE_PUPIL" - Right eye pupil. 7476 // "FOREHEAD_GLABELLA" - Forehead glabella. 7477 // "CHIN_GNATHION" - Chin gnathion. 7478 // "CHIN_LEFT_GONION" - Chin left gonion. 7479 // "CHIN_RIGHT_GONION" - Chin right gonion. 7480 // "LEFT_CHEEK_CENTER" - Left cheek center. 7481 // "RIGHT_CHEEK_CENTER" - Right cheek center. 7482 Type string `json:"type,omitempty"` 7483 7484 // ForceSendFields is a list of field names (e.g. "Position") to 7485 // unconditionally include in API requests. By default, fields with 7486 // empty or default values are omitted from API requests. However, any 7487 // non-pointer, non-interface field appearing in ForceSendFields will be 7488 // sent to the server regardless of whether the field is empty or not. 7489 // This may be used to include empty fields in Patch requests. 7490 ForceSendFields []string `json:"-"` 7491 7492 // NullFields is a list of field names (e.g. "Position") to include in 7493 // API requests with the JSON null value. By default, fields with empty 7494 // values are omitted from API requests. However, any field with an 7495 // empty value appearing in NullFields will be sent to the server as 7496 // null. It is an error if a field in this list has a non-empty value. 7497 // This may be used to include null fields in Patch requests. 7498 NullFields []string `json:"-"` 7499} 7500 7501func (s *GoogleCloudVisionV1p3beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 7502 type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotationLandmark 7503 raw := NoMethod(*s) 7504 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7505} 7506 7507// GoogleCloudVisionV1p3beta1GcsDestination: The Google Cloud Storage 7508// location where the output will be written to. 7509type GoogleCloudVisionV1p3beta1GcsDestination struct { 7510 // Uri: Google Cloud Storage URI prefix where the results will be 7511 // stored. Results will be in JSON format and preceded by its 7512 // corresponding input URI prefix. This field can either represent a gcs 7513 // file prefix or gcs directory. In either case, the uri should be 7514 // unique because in order to get all of the output files, you will need 7515 // to do a wildcard gcs search on the uri prefix you provide. Examples: 7516 // * File Prefix: gs://bucket-name/here/filenameprefix The output files 7517 // will be created in gs://bucket-name/here/ and the names of the output 7518 // files will begin with "filenameprefix". * Directory Prefix: 7519 // gs://bucket-name/some/location/ The output files will be created in 7520 // gs://bucket-name/some/location/ and the names of the output files 7521 // could be anything because there was no filename prefix specified. If 7522 // multiple outputs, each response is still AnnotateFileResponse, each 7523 // of which contains some subset of the full list of 7524 // AnnotateImageResponse. Multiple outputs can happen if, for example, 7525 // the output JSON is too large and overflows into multiple sharded 7526 // files. 7527 Uri string `json:"uri,omitempty"` 7528 7529 // ForceSendFields is a list of field names (e.g. "Uri") to 7530 // unconditionally include in API requests. By default, fields with 7531 // empty or default values are omitted from API requests. However, any 7532 // non-pointer, non-interface field appearing in ForceSendFields will be 7533 // sent to the server regardless of whether the field is empty or not. 7534 // This may be used to include empty fields in Patch requests. 7535 ForceSendFields []string `json:"-"` 7536 7537 // NullFields is a list of field names (e.g. "Uri") to include in API 7538 // requests with the JSON null value. By default, fields with empty 7539 // values are omitted from API requests. However, any field with an 7540 // empty value appearing in NullFields will be sent to the server as 7541 // null. It is an error if a field in this list has a non-empty value. 7542 // This may be used to include null fields in Patch requests. 7543 NullFields []string `json:"-"` 7544} 7545 7546func (s *GoogleCloudVisionV1p3beta1GcsDestination) MarshalJSON() ([]byte, error) { 7547 type NoMethod GoogleCloudVisionV1p3beta1GcsDestination 7548 raw := NoMethod(*s) 7549 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7550} 7551 7552// GoogleCloudVisionV1p3beta1GcsSource: The Google Cloud Storage 7553// location where the input will be read from. 7554type GoogleCloudVisionV1p3beta1GcsSource struct { 7555 // Uri: Google Cloud Storage URI for the input file. This must only be a 7556 // Google Cloud Storage object. Wildcards are not currently supported. 7557 Uri string `json:"uri,omitempty"` 7558 7559 // ForceSendFields is a list of field names (e.g. "Uri") to 7560 // unconditionally include in API requests. By default, fields with 7561 // empty or default values are omitted from API requests. However, any 7562 // non-pointer, non-interface field appearing in ForceSendFields will be 7563 // sent to the server regardless of whether the field is empty or not. 7564 // This may be used to include empty fields in Patch requests. 7565 ForceSendFields []string `json:"-"` 7566 7567 // NullFields is a list of field names (e.g. "Uri") to include in API 7568 // requests with the JSON null value. By default, fields with empty 7569 // values are omitted from API requests. However, any field with an 7570 // empty value appearing in NullFields will be sent to the server as 7571 // null. It is an error if a field in this list has a non-empty value. 7572 // This may be used to include null fields in Patch requests. 7573 NullFields []string `json:"-"` 7574} 7575 7576func (s *GoogleCloudVisionV1p3beta1GcsSource) MarshalJSON() ([]byte, error) { 7577 type NoMethod GoogleCloudVisionV1p3beta1GcsSource 7578 raw := NoMethod(*s) 7579 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7580} 7581 7582// GoogleCloudVisionV1p3beta1ImageAnnotationContext: If an image was 7583// produced from a file (e.g. a PDF), this message gives information 7584// about the source of that image. 7585type GoogleCloudVisionV1p3beta1ImageAnnotationContext struct { 7586 // PageNumber: If the file was a PDF or TIFF, this field gives the page 7587 // number within the file used to produce the image. 7588 PageNumber int64 `json:"pageNumber,omitempty"` 7589 7590 // Uri: The URI of the file used to produce the image. 7591 Uri string `json:"uri,omitempty"` 7592 7593 // ForceSendFields is a list of field names (e.g. "PageNumber") to 7594 // unconditionally include in API requests. By default, fields with 7595 // empty or default values are omitted from API requests. However, any 7596 // non-pointer, non-interface field appearing in ForceSendFields will be 7597 // sent to the server regardless of whether the field is empty or not. 7598 // This may be used to include empty fields in Patch requests. 7599 ForceSendFields []string `json:"-"` 7600 7601 // NullFields is a list of field names (e.g. "PageNumber") to include in 7602 // API requests with the JSON null value. By default, fields with empty 7603 // values are omitted from API requests. However, any field with an 7604 // empty value appearing in NullFields will be sent to the server as 7605 // null. It is an error if a field in this list has a non-empty value. 7606 // This may be used to include null fields in Patch requests. 7607 NullFields []string `json:"-"` 7608} 7609 7610func (s *GoogleCloudVisionV1p3beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 7611 type NoMethod GoogleCloudVisionV1p3beta1ImageAnnotationContext 7612 raw := NoMethod(*s) 7613 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7614} 7615 7616// GoogleCloudVisionV1p3beta1ImageProperties: Stores image properties, 7617// such as dominant colors. 7618type GoogleCloudVisionV1p3beta1ImageProperties struct { 7619 // DominantColors: If present, dominant colors completed successfully. 7620 DominantColors *GoogleCloudVisionV1p3beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 7621 7622 // ForceSendFields is a list of field names (e.g. "DominantColors") to 7623 // unconditionally include in API requests. By default, fields with 7624 // empty or default values are omitted from API requests. However, any 7625 // non-pointer, non-interface field appearing in ForceSendFields will be 7626 // sent to the server regardless of whether the field is empty or not. 7627 // This may be used to include empty fields in Patch requests. 7628 ForceSendFields []string `json:"-"` 7629 7630 // NullFields is a list of field names (e.g. "DominantColors") to 7631 // include in API requests with the JSON null value. By default, fields 7632 // with empty values are omitted from API requests. However, any field 7633 // with an empty value appearing in NullFields will be sent to the 7634 // server as null. It is an error if a field in this list has a 7635 // non-empty value. This may be used to include null fields in Patch 7636 // requests. 7637 NullFields []string `json:"-"` 7638} 7639 7640func (s *GoogleCloudVisionV1p3beta1ImageProperties) MarshalJSON() ([]byte, error) { 7641 type NoMethod GoogleCloudVisionV1p3beta1ImageProperties 7642 raw := NoMethod(*s) 7643 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7644} 7645 7646// GoogleCloudVisionV1p3beta1ImportProductSetsResponse: Response message 7647// for the `ImportProductSets` method. This message is returned by the 7648// google.longrunning.Operations.GetOperation method in the returned 7649// google.longrunning.Operation.response field. 7650type GoogleCloudVisionV1p3beta1ImportProductSetsResponse struct { 7651 // ReferenceImages: The list of reference_images that are imported 7652 // successfully. 7653 ReferenceImages []*GoogleCloudVisionV1p3beta1ReferenceImage `json:"referenceImages,omitempty"` 7654 7655 // Statuses: The rpc status for each ImportProductSet request, including 7656 // both successes and errors. The number of statuses here matches the 7657 // number of lines in the csv file, and statuses[i] stores the success 7658 // or failure status of processing the i-th line of the csv, starting 7659 // from line 0. 7660 Statuses []*Status `json:"statuses,omitempty"` 7661 7662 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 7663 // unconditionally include in API requests. By default, fields with 7664 // empty or default values are omitted from API requests. However, any 7665 // non-pointer, non-interface field appearing in ForceSendFields will be 7666 // sent to the server regardless of whether the field is empty or not. 7667 // This may be used to include empty fields in Patch requests. 7668 ForceSendFields []string `json:"-"` 7669 7670 // NullFields is a list of field names (e.g. "ReferenceImages") to 7671 // include in API requests with the JSON null value. By default, fields 7672 // with empty values are omitted from API requests. However, any field 7673 // with an empty value appearing in NullFields will be sent to the 7674 // server as null. It is an error if a field in this list has a 7675 // non-empty value. This may be used to include null fields in Patch 7676 // requests. 7677 NullFields []string `json:"-"` 7678} 7679 7680func (s *GoogleCloudVisionV1p3beta1ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 7681 type NoMethod GoogleCloudVisionV1p3beta1ImportProductSetsResponse 7682 raw := NoMethod(*s) 7683 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7684} 7685 7686// GoogleCloudVisionV1p3beta1InputConfig: The desired input location and 7687// metadata. 7688type GoogleCloudVisionV1p3beta1InputConfig struct { 7689 // Content: File content, represented as a stream of bytes. Note: As 7690 // with all `bytes` fields, protobuffers use a pure binary 7691 // representation, whereas JSON representations use base64. Currently, 7692 // this field only works for BatchAnnotateFiles requests. It does not 7693 // work for AsyncBatchAnnotateFiles requests. 7694 Content string `json:"content,omitempty"` 7695 7696 // GcsSource: The Google Cloud Storage location to read the input from. 7697 GcsSource *GoogleCloudVisionV1p3beta1GcsSource `json:"gcsSource,omitempty"` 7698 7699 // MimeType: The type of the file. Currently only "application/pdf", 7700 // "image/tiff" and "image/gif" are supported. Wildcards are not 7701 // supported. 7702 MimeType string `json:"mimeType,omitempty"` 7703 7704 // ForceSendFields is a list of field names (e.g. "Content") to 7705 // unconditionally include in API requests. By default, fields with 7706 // empty or default values are omitted from API requests. However, any 7707 // non-pointer, non-interface field appearing in ForceSendFields will be 7708 // sent to the server regardless of whether the field is empty or not. 7709 // This may be used to include empty fields in Patch requests. 7710 ForceSendFields []string `json:"-"` 7711 7712 // NullFields is a list of field names (e.g. "Content") to include in 7713 // API requests with the JSON null value. By default, fields with empty 7714 // values are omitted from API requests. However, any field with an 7715 // empty value appearing in NullFields will be sent to the server as 7716 // null. It is an error if a field in this list has a non-empty value. 7717 // This may be used to include null fields in Patch requests. 7718 NullFields []string `json:"-"` 7719} 7720 7721func (s *GoogleCloudVisionV1p3beta1InputConfig) MarshalJSON() ([]byte, error) { 7722 type NoMethod GoogleCloudVisionV1p3beta1InputConfig 7723 raw := NoMethod(*s) 7724 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7725} 7726 7727// GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation: Set of detected 7728// objects with bounding boxes. 7729type GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation struct { 7730 // BoundingPoly: Image region to which this object belongs. This must be 7731 // populated. 7732 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 7733 7734 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 7735 // For more information, see 7736 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 7737 LanguageCode string `json:"languageCode,omitempty"` 7738 7739 // Mid: Object ID that should align with EntityAnnotation mid. 7740 Mid string `json:"mid,omitempty"` 7741 7742 // Name: Object name, expressed in its `language_code` language. 7743 Name string `json:"name,omitempty"` 7744 7745 // Score: Score of the result. Range [0, 1]. 7746 Score float64 `json:"score,omitempty"` 7747 7748 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 7749 // unconditionally include in API requests. By default, fields with 7750 // empty or default values are omitted from API requests. However, any 7751 // non-pointer, non-interface field appearing in ForceSendFields will be 7752 // sent to the server regardless of whether the field is empty or not. 7753 // This may be used to include empty fields in Patch requests. 7754 ForceSendFields []string `json:"-"` 7755 7756 // NullFields is a list of field names (e.g. "BoundingPoly") to include 7757 // in API requests with the JSON null value. By default, fields with 7758 // empty values are omitted from API requests. However, any field with 7759 // an empty value appearing in NullFields will be sent to the server as 7760 // null. It is an error if a field in this list has a non-empty value. 7761 // This may be used to include null fields in Patch requests. 7762 NullFields []string `json:"-"` 7763} 7764 7765func (s *GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 7766 type NoMethod GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation 7767 raw := NoMethod(*s) 7768 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7769} 7770 7771func (s *GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 7772 type NoMethod GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation 7773 var s1 struct { 7774 Score gensupport.JSONFloat64 `json:"score"` 7775 *NoMethod 7776 } 7777 s1.NoMethod = (*NoMethod)(s) 7778 if err := json.Unmarshal(data, &s1); err != nil { 7779 return err 7780 } 7781 s.Score = float64(s1.Score) 7782 return nil 7783} 7784 7785// GoogleCloudVisionV1p3beta1LocationInfo: Detected entity location 7786// information. 7787type GoogleCloudVisionV1p3beta1LocationInfo struct { 7788 // LatLng: lat/long location coordinates. 7789 LatLng *LatLng `json:"latLng,omitempty"` 7790 7791 // ForceSendFields is a list of field names (e.g. "LatLng") to 7792 // unconditionally include in API requests. By default, fields with 7793 // empty or default values are omitted from API requests. However, any 7794 // non-pointer, non-interface field appearing in ForceSendFields will be 7795 // sent to the server regardless of whether the field is empty or not. 7796 // This may be used to include empty fields in Patch requests. 7797 ForceSendFields []string `json:"-"` 7798 7799 // NullFields is a list of field names (e.g. "LatLng") to include in API 7800 // requests with the JSON null value. By default, fields with empty 7801 // values are omitted from API requests. However, any field with an 7802 // empty value appearing in NullFields will be sent to the server as 7803 // null. It is an error if a field in this list has a non-empty value. 7804 // This may be used to include null fields in Patch requests. 7805 NullFields []string `json:"-"` 7806} 7807 7808func (s *GoogleCloudVisionV1p3beta1LocationInfo) MarshalJSON() ([]byte, error) { 7809 type NoMethod GoogleCloudVisionV1p3beta1LocationInfo 7810 raw := NoMethod(*s) 7811 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7812} 7813 7814// GoogleCloudVisionV1p3beta1NormalizedVertex: A vertex represents a 2D 7815// point in the image. NOTE: the normalized vertex coordinates are 7816// relative to the original image and range from 0 to 1. 7817type GoogleCloudVisionV1p3beta1NormalizedVertex struct { 7818 // X: X coordinate. 7819 X float64 `json:"x,omitempty"` 7820 7821 // Y: Y coordinate. 7822 Y float64 `json:"y,omitempty"` 7823 7824 // ForceSendFields is a list of field names (e.g. "X") to 7825 // unconditionally include in API requests. By default, fields with 7826 // empty or default values are omitted from API requests. However, any 7827 // non-pointer, non-interface field appearing in ForceSendFields will be 7828 // sent to the server regardless of whether the field is empty or not. 7829 // This may be used to include empty fields in Patch requests. 7830 ForceSendFields []string `json:"-"` 7831 7832 // NullFields is a list of field names (e.g. "X") to include in API 7833 // requests with the JSON null value. By default, fields with empty 7834 // values are omitted from API requests. However, any field with an 7835 // empty value appearing in NullFields will be sent to the server as 7836 // null. It is an error if a field in this list has a non-empty value. 7837 // This may be used to include null fields in Patch requests. 7838 NullFields []string `json:"-"` 7839} 7840 7841func (s *GoogleCloudVisionV1p3beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 7842 type NoMethod GoogleCloudVisionV1p3beta1NormalizedVertex 7843 raw := NoMethod(*s) 7844 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7845} 7846 7847func (s *GoogleCloudVisionV1p3beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 7848 type NoMethod GoogleCloudVisionV1p3beta1NormalizedVertex 7849 var s1 struct { 7850 X gensupport.JSONFloat64 `json:"x"` 7851 Y gensupport.JSONFloat64 `json:"y"` 7852 *NoMethod 7853 } 7854 s1.NoMethod = (*NoMethod)(s) 7855 if err := json.Unmarshal(data, &s1); err != nil { 7856 return err 7857 } 7858 s.X = float64(s1.X) 7859 s.Y = float64(s1.Y) 7860 return nil 7861} 7862 7863// GoogleCloudVisionV1p3beta1OperationMetadata: Contains metadata for 7864// the BatchAnnotateImages operation. 7865type GoogleCloudVisionV1p3beta1OperationMetadata struct { 7866 // CreateTime: The time when the batch request was received. 7867 CreateTime string `json:"createTime,omitempty"` 7868 7869 // State: Current state of the batch operation. 7870 // 7871 // Possible values: 7872 // "STATE_UNSPECIFIED" - Invalid. 7873 // "CREATED" - Request is received. 7874 // "RUNNING" - Request is actively being processed. 7875 // "DONE" - The batch processing is done. 7876 // "CANCELLED" - The batch processing was cancelled. 7877 State string `json:"state,omitempty"` 7878 7879 // UpdateTime: The time when the operation result was last updated. 7880 UpdateTime string `json:"updateTime,omitempty"` 7881 7882 // ForceSendFields is a list of field names (e.g. "CreateTime") to 7883 // unconditionally include in API requests. By default, fields with 7884 // empty or default values are omitted from API requests. However, any 7885 // non-pointer, non-interface field appearing in ForceSendFields will be 7886 // sent to the server regardless of whether the field is empty or not. 7887 // This may be used to include empty fields in Patch requests. 7888 ForceSendFields []string `json:"-"` 7889 7890 // NullFields is a list of field names (e.g. "CreateTime") to include in 7891 // API requests with the JSON null value. By default, fields with empty 7892 // values are omitted from API requests. However, any field with an 7893 // empty value appearing in NullFields will be sent to the server as 7894 // null. It is an error if a field in this list has a non-empty value. 7895 // This may be used to include null fields in Patch requests. 7896 NullFields []string `json:"-"` 7897} 7898 7899func (s *GoogleCloudVisionV1p3beta1OperationMetadata) MarshalJSON() ([]byte, error) { 7900 type NoMethod GoogleCloudVisionV1p3beta1OperationMetadata 7901 raw := NoMethod(*s) 7902 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7903} 7904 7905// GoogleCloudVisionV1p3beta1OutputConfig: The desired output location 7906// and metadata. 7907type GoogleCloudVisionV1p3beta1OutputConfig struct { 7908 // BatchSize: The max number of response protos to put into each output 7909 // JSON file on Google Cloud Storage. The valid range is [1, 100]. If 7910 // not specified, the default value is 20. For example, for one pdf file 7911 // with 100 pages, 100 response protos will be generated. If 7912 // `batch_size` = 20, then 5 json files each containing 20 response 7913 // protos will be written under the prefix `gcs_destination`.`uri`. 7914 // Currently, batch_size only applies to GcsDestination, with potential 7915 // future support for other output configurations. 7916 BatchSize int64 `json:"batchSize,omitempty"` 7917 7918 // GcsDestination: The Google Cloud Storage location to write the 7919 // output(s) to. 7920 GcsDestination *GoogleCloudVisionV1p3beta1GcsDestination `json:"gcsDestination,omitempty"` 7921 7922 // ForceSendFields is a list of field names (e.g. "BatchSize") to 7923 // unconditionally include in API requests. By default, fields with 7924 // empty or default values are omitted from API requests. However, any 7925 // non-pointer, non-interface field appearing in ForceSendFields will be 7926 // sent to the server regardless of whether the field is empty or not. 7927 // This may be used to include empty fields in Patch requests. 7928 ForceSendFields []string `json:"-"` 7929 7930 // NullFields is a list of field names (e.g. "BatchSize") to include in 7931 // API requests with the JSON null value. By default, fields with empty 7932 // values are omitted from API requests. However, any field with an 7933 // empty value appearing in NullFields will be sent to the server as 7934 // null. It is an error if a field in this list has a non-empty value. 7935 // This may be used to include null fields in Patch requests. 7936 NullFields []string `json:"-"` 7937} 7938 7939func (s *GoogleCloudVisionV1p3beta1OutputConfig) MarshalJSON() ([]byte, error) { 7940 type NoMethod GoogleCloudVisionV1p3beta1OutputConfig 7941 raw := NoMethod(*s) 7942 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7943} 7944 7945// GoogleCloudVisionV1p3beta1Page: Detected page from OCR. 7946type GoogleCloudVisionV1p3beta1Page struct { 7947 // Blocks: List of blocks of text, images etc on this page. 7948 Blocks []*GoogleCloudVisionV1p3beta1Block `json:"blocks,omitempty"` 7949 7950 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 7951 Confidence float64 `json:"confidence,omitempty"` 7952 7953 // Height: Page height. For PDFs the unit is points. For images 7954 // (including TIFFs) the unit is pixels. 7955 Height int64 `json:"height,omitempty"` 7956 7957 // Property: Additional information detected on the page. 7958 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 7959 7960 // Width: Page width. For PDFs the unit is points. For images (including 7961 // TIFFs) the unit is pixels. 7962 Width int64 `json:"width,omitempty"` 7963 7964 // ForceSendFields is a list of field names (e.g. "Blocks") to 7965 // unconditionally include in API requests. By default, fields with 7966 // empty or default values are omitted from API requests. However, any 7967 // non-pointer, non-interface field appearing in ForceSendFields will be 7968 // sent to the server regardless of whether the field is empty or not. 7969 // This may be used to include empty fields in Patch requests. 7970 ForceSendFields []string `json:"-"` 7971 7972 // NullFields is a list of field names (e.g. "Blocks") to include in API 7973 // requests with the JSON null value. By default, fields with empty 7974 // values are omitted from API requests. However, any field with an 7975 // empty value appearing in NullFields will be sent to the server as 7976 // null. It is an error if a field in this list has a non-empty value. 7977 // This may be used to include null fields in Patch requests. 7978 NullFields []string `json:"-"` 7979} 7980 7981func (s *GoogleCloudVisionV1p3beta1Page) MarshalJSON() ([]byte, error) { 7982 type NoMethod GoogleCloudVisionV1p3beta1Page 7983 raw := NoMethod(*s) 7984 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7985} 7986 7987func (s *GoogleCloudVisionV1p3beta1Page) UnmarshalJSON(data []byte) error { 7988 type NoMethod GoogleCloudVisionV1p3beta1Page 7989 var s1 struct { 7990 Confidence gensupport.JSONFloat64 `json:"confidence"` 7991 *NoMethod 7992 } 7993 s1.NoMethod = (*NoMethod)(s) 7994 if err := json.Unmarshal(data, &s1); err != nil { 7995 return err 7996 } 7997 s.Confidence = float64(s1.Confidence) 7998 return nil 7999} 8000 8001// GoogleCloudVisionV1p3beta1Paragraph: Structural unit of text 8002// representing a number of words in certain order. 8003type GoogleCloudVisionV1p3beta1Paragraph struct { 8004 // BoundingBox: The bounding box for the paragraph. The vertices are in 8005 // the order of top-left, top-right, bottom-right, bottom-left. When a 8006 // rotation of the bounding box is detected the rotation is represented 8007 // as around the top-left corner as defined when the text is read in the 8008 // 'natural' orientation. For example: * when the text is horizontal it 8009 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 8010 // around the top-left corner it becomes: 2----3 | | 1----0 and the 8011 // vertex order will still be (0, 1, 2, 3). 8012 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 8013 8014 // Confidence: Confidence of the OCR results for the paragraph. Range 8015 // [0, 1]. 8016 Confidence float64 `json:"confidence,omitempty"` 8017 8018 // Property: Additional information detected for the paragraph. 8019 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 8020 8021 // Words: List of all words in this paragraph. 8022 Words []*GoogleCloudVisionV1p3beta1Word `json:"words,omitempty"` 8023 8024 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 8025 // unconditionally include in API requests. By default, fields with 8026 // empty or default values are omitted from API requests. However, any 8027 // non-pointer, non-interface field appearing in ForceSendFields will be 8028 // sent to the server regardless of whether the field is empty or not. 8029 // This may be used to include empty fields in Patch requests. 8030 ForceSendFields []string `json:"-"` 8031 8032 // NullFields is a list of field names (e.g. "BoundingBox") to include 8033 // in API requests with the JSON null value. By default, fields with 8034 // empty values are omitted from API requests. However, any field with 8035 // an empty value appearing in NullFields will be sent to the server as 8036 // null. It is an error if a field in this list has a non-empty value. 8037 // This may be used to include null fields in Patch requests. 8038 NullFields []string `json:"-"` 8039} 8040 8041func (s *GoogleCloudVisionV1p3beta1Paragraph) MarshalJSON() ([]byte, error) { 8042 type NoMethod GoogleCloudVisionV1p3beta1Paragraph 8043 raw := NoMethod(*s) 8044 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8045} 8046 8047func (s *GoogleCloudVisionV1p3beta1Paragraph) UnmarshalJSON(data []byte) error { 8048 type NoMethod GoogleCloudVisionV1p3beta1Paragraph 8049 var s1 struct { 8050 Confidence gensupport.JSONFloat64 `json:"confidence"` 8051 *NoMethod 8052 } 8053 s1.NoMethod = (*NoMethod)(s) 8054 if err := json.Unmarshal(data, &s1); err != nil { 8055 return err 8056 } 8057 s.Confidence = float64(s1.Confidence) 8058 return nil 8059} 8060 8061// GoogleCloudVisionV1p3beta1Position: A 3D position in the image, used 8062// primarily for Face detection landmarks. A valid Position must have 8063// both x and y coordinates. The position coordinates are in the same 8064// scale as the original image. 8065type GoogleCloudVisionV1p3beta1Position struct { 8066 // X: X coordinate. 8067 X float64 `json:"x,omitempty"` 8068 8069 // Y: Y coordinate. 8070 Y float64 `json:"y,omitempty"` 8071 8072 // Z: Z coordinate (or depth). 8073 Z float64 `json:"z,omitempty"` 8074 8075 // ForceSendFields is a list of field names (e.g. "X") to 8076 // unconditionally include in API requests. By default, fields with 8077 // empty or default values are omitted from API requests. However, any 8078 // non-pointer, non-interface field appearing in ForceSendFields will be 8079 // sent to the server regardless of whether the field is empty or not. 8080 // This may be used to include empty fields in Patch requests. 8081 ForceSendFields []string `json:"-"` 8082 8083 // NullFields is a list of field names (e.g. "X") to include in API 8084 // requests with the JSON null value. By default, fields with empty 8085 // values are omitted from API requests. However, any field with an 8086 // empty value appearing in NullFields will be sent to the server as 8087 // null. It is an error if a field in this list has a non-empty value. 8088 // This may be used to include null fields in Patch requests. 8089 NullFields []string `json:"-"` 8090} 8091 8092func (s *GoogleCloudVisionV1p3beta1Position) MarshalJSON() ([]byte, error) { 8093 type NoMethod GoogleCloudVisionV1p3beta1Position 8094 raw := NoMethod(*s) 8095 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8096} 8097 8098func (s *GoogleCloudVisionV1p3beta1Position) UnmarshalJSON(data []byte) error { 8099 type NoMethod GoogleCloudVisionV1p3beta1Position 8100 var s1 struct { 8101 X gensupport.JSONFloat64 `json:"x"` 8102 Y gensupport.JSONFloat64 `json:"y"` 8103 Z gensupport.JSONFloat64 `json:"z"` 8104 *NoMethod 8105 } 8106 s1.NoMethod = (*NoMethod)(s) 8107 if err := json.Unmarshal(data, &s1); err != nil { 8108 return err 8109 } 8110 s.X = float64(s1.X) 8111 s.Y = float64(s1.Y) 8112 s.Z = float64(s1.Z) 8113 return nil 8114} 8115 8116// GoogleCloudVisionV1p3beta1Product: A Product contains 8117// ReferenceImages. 8118type GoogleCloudVisionV1p3beta1Product struct { 8119 // Description: User-provided metadata to be stored with this product. 8120 // Must be at most 4096 characters long. 8121 Description string `json:"description,omitempty"` 8122 8123 // DisplayName: The user-provided name for this Product. Must not be 8124 // empty. Must be at most 4096 characters long. 8125 DisplayName string `json:"displayName,omitempty"` 8126 8127 // Name: The resource name of the product. Format is: 8128 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This 8129 // field is ignored when creating a product. 8130 Name string `json:"name,omitempty"` 8131 8132 // ProductCategory: Immutable. The category for the product identified 8133 // by the reference image. This should be one of "homegoods-v2", 8134 // "apparel-v2", "toys-v2", "packagedgoods-v1" or "general-v1". The 8135 // legacy categories "homegoods", "apparel", and "toys" are still 8136 // supported, but these should not be used for new products. 8137 ProductCategory string `json:"productCategory,omitempty"` 8138 8139 // ProductLabels: Key-value pairs that can be attached to a product. At 8140 // query time, constraints can be specified based on the product_labels. 8141 // Note that integer values can be provided as strings, e.g. "1199". 8142 // Only strings with integer values can match a range-based restriction 8143 // which is to be supported soon. Multiple values can be assigned to the 8144 // same key. One product may have up to 500 product_labels. Notice that 8145 // the total number of distinct product_labels over all products in one 8146 // ProductSet cannot exceed 1M, otherwise the product search pipeline 8147 // will refuse to work for that ProductSet. 8148 ProductLabels []*GoogleCloudVisionV1p3beta1ProductKeyValue `json:"productLabels,omitempty"` 8149 8150 // ForceSendFields is a list of field names (e.g. "Description") to 8151 // unconditionally include in API requests. By default, fields with 8152 // empty or default values are omitted from API requests. However, any 8153 // non-pointer, non-interface field appearing in ForceSendFields will be 8154 // sent to the server regardless of whether the field is empty or not. 8155 // This may be used to include empty fields in Patch requests. 8156 ForceSendFields []string `json:"-"` 8157 8158 // NullFields is a list of field names (e.g. "Description") to include 8159 // in API requests with the JSON null value. By default, fields with 8160 // empty values are omitted from API requests. However, any field with 8161 // an empty value appearing in NullFields will be sent to the server as 8162 // null. It is an error if a field in this list has a non-empty value. 8163 // This may be used to include null fields in Patch requests. 8164 NullFields []string `json:"-"` 8165} 8166 8167func (s *GoogleCloudVisionV1p3beta1Product) MarshalJSON() ([]byte, error) { 8168 type NoMethod GoogleCloudVisionV1p3beta1Product 8169 raw := NoMethod(*s) 8170 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8171} 8172 8173// GoogleCloudVisionV1p3beta1ProductKeyValue: A product label 8174// represented as a key-value pair. 8175type GoogleCloudVisionV1p3beta1ProductKeyValue struct { 8176 // Key: The key of the label attached to the product. Cannot be empty 8177 // and cannot exceed 128 bytes. 8178 Key string `json:"key,omitempty"` 8179 8180 // Value: The value of the label attached to the product. Cannot be 8181 // empty and cannot exceed 128 bytes. 8182 Value string `json:"value,omitempty"` 8183 8184 // ForceSendFields is a list of field names (e.g. "Key") to 8185 // unconditionally include in API requests. By default, fields with 8186 // empty or default values are omitted from API requests. However, any 8187 // non-pointer, non-interface field appearing in ForceSendFields will be 8188 // sent to the server regardless of whether the field is empty or not. 8189 // This may be used to include empty fields in Patch requests. 8190 ForceSendFields []string `json:"-"` 8191 8192 // NullFields is a list of field names (e.g. "Key") to include in API 8193 // requests with the JSON null value. By default, fields with empty 8194 // values are omitted from API requests. However, any field with an 8195 // empty value appearing in NullFields will be sent to the server as 8196 // null. It is an error if a field in this list has a non-empty value. 8197 // This may be used to include null fields in Patch requests. 8198 NullFields []string `json:"-"` 8199} 8200 8201func (s *GoogleCloudVisionV1p3beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 8202 type NoMethod GoogleCloudVisionV1p3beta1ProductKeyValue 8203 raw := NoMethod(*s) 8204 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8205} 8206 8207// GoogleCloudVisionV1p3beta1ProductSearchResults: Results for a product 8208// search request. 8209type GoogleCloudVisionV1p3beta1ProductSearchResults struct { 8210 // IndexTime: Timestamp of the index which provided these results. 8211 // Products added to the product set and products removed from the 8212 // product set after this time are not reflected in the current results. 8213 IndexTime string `json:"indexTime,omitempty"` 8214 8215 // ProductGroupedResults: List of results grouped by products detected 8216 // in the query image. Each entry corresponds to one bounding polygon in 8217 // the query image, and contains the matching products specific to that 8218 // region. There may be duplicate product matches in the union of all 8219 // the per-product results. 8220 ProductGroupedResults []*GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 8221 8222 // Results: List of results, one for each product match. 8223 Results []*GoogleCloudVisionV1p3beta1ProductSearchResultsResult `json:"results,omitempty"` 8224 8225 // ForceSendFields is a list of field names (e.g. "IndexTime") to 8226 // unconditionally include in API requests. By default, fields with 8227 // empty or default values are omitted from API requests. However, any 8228 // non-pointer, non-interface field appearing in ForceSendFields will be 8229 // sent to the server regardless of whether the field is empty or not. 8230 // This may be used to include empty fields in Patch requests. 8231 ForceSendFields []string `json:"-"` 8232 8233 // NullFields is a list of field names (e.g. "IndexTime") to include in 8234 // API requests with the JSON null value. By default, fields with empty 8235 // values are omitted from API requests. However, any field with an 8236 // empty value appearing in NullFields will be sent to the server as 8237 // null. It is an error if a field in this list has a non-empty value. 8238 // This may be used to include null fields in Patch requests. 8239 NullFields []string `json:"-"` 8240} 8241 8242func (s *GoogleCloudVisionV1p3beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 8243 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResults 8244 raw := NoMethod(*s) 8245 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8246} 8247 8248// GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult: 8249// Information about the products similar to a single product in a query 8250// image. 8251type GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult struct { 8252 // BoundingPoly: The bounding polygon around the product detected in the 8253 // query image. 8254 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 8255 8256 // ObjectAnnotations: List of generic predictions for the object in the 8257 // bounding box. 8258 ObjectAnnotations []*GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 8259 8260 // Results: List of results, one for each product match. 8261 Results []*GoogleCloudVisionV1p3beta1ProductSearchResultsResult `json:"results,omitempty"` 8262 8263 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 8264 // unconditionally include in API requests. By default, fields with 8265 // empty or default values are omitted from API requests. However, any 8266 // non-pointer, non-interface field appearing in ForceSendFields will be 8267 // sent to the server regardless of whether the field is empty or not. 8268 // This may be used to include empty fields in Patch requests. 8269 ForceSendFields []string `json:"-"` 8270 8271 // NullFields is a list of field names (e.g. "BoundingPoly") to include 8272 // in API requests with the JSON null value. By default, fields with 8273 // empty values are omitted from API requests. However, any field with 8274 // an empty value appearing in NullFields will be sent to the server as 8275 // null. It is an error if a field in this list has a non-empty value. 8276 // This may be used to include null fields in Patch requests. 8277 NullFields []string `json:"-"` 8278} 8279 8280func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 8281 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult 8282 raw := NoMethod(*s) 8283 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8284} 8285 8286// GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation: 8287// Prediction for what the object in the bounding box is. 8288type GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation struct { 8289 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 8290 // For more information, see 8291 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 8292 LanguageCode string `json:"languageCode,omitempty"` 8293 8294 // Mid: Object ID that should align with EntityAnnotation mid. 8295 Mid string `json:"mid,omitempty"` 8296 8297 // Name: Object name, expressed in its `language_code` language. 8298 Name string `json:"name,omitempty"` 8299 8300 // Score: Score of the result. Range [0, 1]. 8301 Score float64 `json:"score,omitempty"` 8302 8303 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 8304 // unconditionally include in API requests. By default, fields with 8305 // empty or default values are omitted from API requests. However, any 8306 // non-pointer, non-interface field appearing in ForceSendFields will be 8307 // sent to the server regardless of whether the field is empty or not. 8308 // This may be used to include empty fields in Patch requests. 8309 ForceSendFields []string `json:"-"` 8310 8311 // NullFields is a list of field names (e.g. "LanguageCode") to include 8312 // in API requests with the JSON null value. By default, fields with 8313 // empty values are omitted from API requests. However, any field with 8314 // an empty value appearing in NullFields will be sent to the server as 8315 // null. It is an error if a field in this list has a non-empty value. 8316 // This may be used to include null fields in Patch requests. 8317 NullFields []string `json:"-"` 8318} 8319 8320func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 8321 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation 8322 raw := NoMethod(*s) 8323 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8324} 8325 8326func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 8327 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation 8328 var s1 struct { 8329 Score gensupport.JSONFloat64 `json:"score"` 8330 *NoMethod 8331 } 8332 s1.NoMethod = (*NoMethod)(s) 8333 if err := json.Unmarshal(data, &s1); err != nil { 8334 return err 8335 } 8336 s.Score = float64(s1.Score) 8337 return nil 8338} 8339 8340// GoogleCloudVisionV1p3beta1ProductSearchResultsResult: Information 8341// about a product. 8342type GoogleCloudVisionV1p3beta1ProductSearchResultsResult struct { 8343 // Image: The resource name of the image from the product that is the 8344 // closest match to the query. 8345 Image string `json:"image,omitempty"` 8346 8347 // Product: The Product. 8348 Product *GoogleCloudVisionV1p3beta1Product `json:"product,omitempty"` 8349 8350 // Score: A confidence level on the match, ranging from 0 (no 8351 // confidence) to 1 (full confidence). 8352 Score float64 `json:"score,omitempty"` 8353 8354 // ForceSendFields is a list of field names (e.g. "Image") to 8355 // unconditionally include in API requests. By default, fields with 8356 // empty or default values are omitted from API requests. However, any 8357 // non-pointer, non-interface field appearing in ForceSendFields will be 8358 // sent to the server regardless of whether the field is empty or not. 8359 // This may be used to include empty fields in Patch requests. 8360 ForceSendFields []string `json:"-"` 8361 8362 // NullFields is a list of field names (e.g. "Image") to include in API 8363 // requests with the JSON null value. By default, fields with empty 8364 // values are omitted from API requests. However, any field with an 8365 // empty value appearing in NullFields will be sent to the server as 8366 // null. It is an error if a field in this list has a non-empty value. 8367 // This may be used to include null fields in Patch requests. 8368 NullFields []string `json:"-"` 8369} 8370 8371func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 8372 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsResult 8373 raw := NoMethod(*s) 8374 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8375} 8376 8377func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 8378 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsResult 8379 var s1 struct { 8380 Score gensupport.JSONFloat64 `json:"score"` 8381 *NoMethod 8382 } 8383 s1.NoMethod = (*NoMethod)(s) 8384 if err := json.Unmarshal(data, &s1); err != nil { 8385 return err 8386 } 8387 s.Score = float64(s1.Score) 8388 return nil 8389} 8390 8391// GoogleCloudVisionV1p3beta1Property: A `Property` consists of a 8392// user-supplied name/value pair. 8393type GoogleCloudVisionV1p3beta1Property struct { 8394 // Name: Name of the property. 8395 Name string `json:"name,omitempty"` 8396 8397 // Uint64Value: Value of numeric properties. 8398 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 8399 8400 // Value: Value of the property. 8401 Value string `json:"value,omitempty"` 8402 8403 // ForceSendFields is a list of field names (e.g. "Name") to 8404 // unconditionally include in API requests. By default, fields with 8405 // empty or default values are omitted from API requests. However, any 8406 // non-pointer, non-interface field appearing in ForceSendFields will be 8407 // sent to the server regardless of whether the field is empty or not. 8408 // This may be used to include empty fields in Patch requests. 8409 ForceSendFields []string `json:"-"` 8410 8411 // NullFields is a list of field names (e.g. "Name") to include in API 8412 // requests with the JSON null value. By default, fields with empty 8413 // values are omitted from API requests. However, any field with an 8414 // empty value appearing in NullFields will be sent to the server as 8415 // null. It is an error if a field in this list has a non-empty value. 8416 // This may be used to include null fields in Patch requests. 8417 NullFields []string `json:"-"` 8418} 8419 8420func (s *GoogleCloudVisionV1p3beta1Property) MarshalJSON() ([]byte, error) { 8421 type NoMethod GoogleCloudVisionV1p3beta1Property 8422 raw := NoMethod(*s) 8423 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8424} 8425 8426// GoogleCloudVisionV1p3beta1ReferenceImage: A `ReferenceImage` 8427// represents a product image and its associated metadata, such as 8428// bounding boxes. 8429type GoogleCloudVisionV1p3beta1ReferenceImage struct { 8430 // BoundingPolys: Optional. Bounding polygons around the areas of 8431 // interest in the reference image. If this field is empty, the system 8432 // will try to detect regions of interest. At most 10 bounding polygons 8433 // will be used. The provided shape is converted into a non-rotated 8434 // rectangle. Once converted, the small edge of the rectangle must be 8435 // greater than or equal to 300 pixels. The aspect ratio must be 1:4 or 8436 // less (i.e. 1:3 is ok; 1:5 is not). 8437 BoundingPolys []*GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPolys,omitempty"` 8438 8439 // Name: The resource name of the reference image. Format is: 8440 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceIma 8441 // ges/IMAGE_ID`. This field is ignored when creating a reference image. 8442 Name string `json:"name,omitempty"` 8443 8444 // Uri: Required. The Google Cloud Storage URI of the reference image. 8445 // The URI must start with `gs://`. 8446 Uri string `json:"uri,omitempty"` 8447 8448 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 8449 // unconditionally include in API requests. By default, fields with 8450 // empty or default values are omitted from API requests. However, any 8451 // non-pointer, non-interface field appearing in ForceSendFields will be 8452 // sent to the server regardless of whether the field is empty or not. 8453 // This may be used to include empty fields in Patch requests. 8454 ForceSendFields []string `json:"-"` 8455 8456 // NullFields is a list of field names (e.g. "BoundingPolys") to include 8457 // in API requests with the JSON null value. By default, fields with 8458 // empty values are omitted from API requests. However, any field with 8459 // an empty value appearing in NullFields will be sent to the server as 8460 // null. It is an error if a field in this list has a non-empty value. 8461 // This may be used to include null fields in Patch requests. 8462 NullFields []string `json:"-"` 8463} 8464 8465func (s *GoogleCloudVisionV1p3beta1ReferenceImage) MarshalJSON() ([]byte, error) { 8466 type NoMethod GoogleCloudVisionV1p3beta1ReferenceImage 8467 raw := NoMethod(*s) 8468 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8469} 8470 8471// GoogleCloudVisionV1p3beta1SafeSearchAnnotation: Set of features 8472// pertaining to the image, computed by computer vision methods over 8473// safe-search verticals (for example, adult, spoof, medical, violence). 8474type GoogleCloudVisionV1p3beta1SafeSearchAnnotation struct { 8475 // Adult: Represents the adult content likelihood for the image. Adult 8476 // content may contain elements such as nudity, pornographic images or 8477 // cartoons, or sexual activities. 8478 // 8479 // Possible values: 8480 // "UNKNOWN" - Unknown likelihood. 8481 // "VERY_UNLIKELY" - It is very unlikely. 8482 // "UNLIKELY" - It is unlikely. 8483 // "POSSIBLE" - It is possible. 8484 // "LIKELY" - It is likely. 8485 // "VERY_LIKELY" - It is very likely. 8486 Adult string `json:"adult,omitempty"` 8487 8488 // Medical: Likelihood that this is a medical image. 8489 // 8490 // Possible values: 8491 // "UNKNOWN" - Unknown likelihood. 8492 // "VERY_UNLIKELY" - It is very unlikely. 8493 // "UNLIKELY" - It is unlikely. 8494 // "POSSIBLE" - It is possible. 8495 // "LIKELY" - It is likely. 8496 // "VERY_LIKELY" - It is very likely. 8497 Medical string `json:"medical,omitempty"` 8498 8499 // Racy: Likelihood that the request image contains racy content. Racy 8500 // content may include (but is not limited to) skimpy or sheer clothing, 8501 // strategically covered nudity, lewd or provocative poses, or close-ups 8502 // of sensitive body areas. 8503 // 8504 // Possible values: 8505 // "UNKNOWN" - Unknown likelihood. 8506 // "VERY_UNLIKELY" - It is very unlikely. 8507 // "UNLIKELY" - It is unlikely. 8508 // "POSSIBLE" - It is possible. 8509 // "LIKELY" - It is likely. 8510 // "VERY_LIKELY" - It is very likely. 8511 Racy string `json:"racy,omitempty"` 8512 8513 // Spoof: Spoof likelihood. The likelihood that an modification was made 8514 // to the image's canonical version to make it appear funny or 8515 // offensive. 8516 // 8517 // Possible values: 8518 // "UNKNOWN" - Unknown likelihood. 8519 // "VERY_UNLIKELY" - It is very unlikely. 8520 // "UNLIKELY" - It is unlikely. 8521 // "POSSIBLE" - It is possible. 8522 // "LIKELY" - It is likely. 8523 // "VERY_LIKELY" - It is very likely. 8524 Spoof string `json:"spoof,omitempty"` 8525 8526 // Violence: Likelihood that this image contains violent content. 8527 // 8528 // Possible values: 8529 // "UNKNOWN" - Unknown likelihood. 8530 // "VERY_UNLIKELY" - It is very unlikely. 8531 // "UNLIKELY" - It is unlikely. 8532 // "POSSIBLE" - It is possible. 8533 // "LIKELY" - It is likely. 8534 // "VERY_LIKELY" - It is very likely. 8535 Violence string `json:"violence,omitempty"` 8536 8537 // ForceSendFields is a list of field names (e.g. "Adult") to 8538 // unconditionally include in API requests. By default, fields with 8539 // empty or default values are omitted from API requests. However, any 8540 // non-pointer, non-interface field appearing in ForceSendFields will be 8541 // sent to the server regardless of whether the field is empty or not. 8542 // This may be used to include empty fields in Patch requests. 8543 ForceSendFields []string `json:"-"` 8544 8545 // NullFields is a list of field names (e.g. "Adult") to include in API 8546 // requests with the JSON null value. By default, fields with empty 8547 // values are omitted from API requests. However, any field with an 8548 // empty value appearing in NullFields will be sent to the server as 8549 // null. It is an error if a field in this list has a non-empty value. 8550 // This may be used to include null fields in Patch requests. 8551 NullFields []string `json:"-"` 8552} 8553 8554func (s *GoogleCloudVisionV1p3beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 8555 type NoMethod GoogleCloudVisionV1p3beta1SafeSearchAnnotation 8556 raw := NoMethod(*s) 8557 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8558} 8559 8560// GoogleCloudVisionV1p3beta1Symbol: A single symbol representation. 8561type GoogleCloudVisionV1p3beta1Symbol struct { 8562 // BoundingBox: The bounding box for the symbol. The vertices are in the 8563 // order of top-left, top-right, bottom-right, bottom-left. When a 8564 // rotation of the bounding box is detected the rotation is represented 8565 // as around the top-left corner as defined when the text is read in the 8566 // 'natural' orientation. For example: * when the text is horizontal it 8567 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 8568 // around the top-left corner it becomes: 2----3 | | 1----0 and the 8569 // vertex order will still be (0, 1, 2, 3). 8570 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 8571 8572 // Confidence: Confidence of the OCR results for the symbol. Range [0, 8573 // 1]. 8574 Confidence float64 `json:"confidence,omitempty"` 8575 8576 // Property: Additional information detected for the symbol. 8577 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 8578 8579 // Text: The actual UTF-8 representation of the symbol. 8580 Text string `json:"text,omitempty"` 8581 8582 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 8583 // unconditionally include in API requests. By default, fields with 8584 // empty or default values are omitted from API requests. However, any 8585 // non-pointer, non-interface field appearing in ForceSendFields will be 8586 // sent to the server regardless of whether the field is empty or not. 8587 // This may be used to include empty fields in Patch requests. 8588 ForceSendFields []string `json:"-"` 8589 8590 // NullFields is a list of field names (e.g. "BoundingBox") to include 8591 // in API requests with the JSON null value. By default, fields with 8592 // empty values are omitted from API requests. However, any field with 8593 // an empty value appearing in NullFields will be sent to the server as 8594 // null. It is an error if a field in this list has a non-empty value. 8595 // This may be used to include null fields in Patch requests. 8596 NullFields []string `json:"-"` 8597} 8598 8599func (s *GoogleCloudVisionV1p3beta1Symbol) MarshalJSON() ([]byte, error) { 8600 type NoMethod GoogleCloudVisionV1p3beta1Symbol 8601 raw := NoMethod(*s) 8602 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8603} 8604 8605func (s *GoogleCloudVisionV1p3beta1Symbol) UnmarshalJSON(data []byte) error { 8606 type NoMethod GoogleCloudVisionV1p3beta1Symbol 8607 var s1 struct { 8608 Confidence gensupport.JSONFloat64 `json:"confidence"` 8609 *NoMethod 8610 } 8611 s1.NoMethod = (*NoMethod)(s) 8612 if err := json.Unmarshal(data, &s1); err != nil { 8613 return err 8614 } 8615 s.Confidence = float64(s1.Confidence) 8616 return nil 8617} 8618 8619// GoogleCloudVisionV1p3beta1TextAnnotation: TextAnnotation contains a 8620// structured representation of OCR extracted text. The hierarchy of an 8621// OCR extracted text structure is like this: TextAnnotation -> Page -> 8622// Block -> Paragraph -> Word -> Symbol Each structural component, 8623// starting from Page, may further have their own properties. Properties 8624// describe detected languages, breaks etc.. Please refer to the 8625// TextAnnotation.TextProperty message definition below for more detail. 8626type GoogleCloudVisionV1p3beta1TextAnnotation struct { 8627 // Pages: List of pages detected by OCR. 8628 Pages []*GoogleCloudVisionV1p3beta1Page `json:"pages,omitempty"` 8629 8630 // Text: UTF-8 text detected on the pages. 8631 Text string `json:"text,omitempty"` 8632 8633 // ForceSendFields is a list of field names (e.g. "Pages") to 8634 // unconditionally include in API requests. By default, fields with 8635 // empty or default values are omitted from API requests. However, any 8636 // non-pointer, non-interface field appearing in ForceSendFields will be 8637 // sent to the server regardless of whether the field is empty or not. 8638 // This may be used to include empty fields in Patch requests. 8639 ForceSendFields []string `json:"-"` 8640 8641 // NullFields is a list of field names (e.g. "Pages") to include in API 8642 // requests with the JSON null value. By default, fields with empty 8643 // values are omitted from API requests. However, any field with an 8644 // empty value appearing in NullFields will be sent to the server as 8645 // null. It is an error if a field in this list has a non-empty value. 8646 // This may be used to include null fields in Patch requests. 8647 NullFields []string `json:"-"` 8648} 8649 8650func (s *GoogleCloudVisionV1p3beta1TextAnnotation) MarshalJSON() ([]byte, error) { 8651 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotation 8652 raw := NoMethod(*s) 8653 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8654} 8655 8656// GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak: Detected start 8657// or end of a structural component. 8658type GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak struct { 8659 // IsPrefix: True if break prepends the element. 8660 IsPrefix bool `json:"isPrefix,omitempty"` 8661 8662 // Type: Detected break type. 8663 // 8664 // Possible values: 8665 // "UNKNOWN" - Unknown break label type. 8666 // "SPACE" - Regular space. 8667 // "SURE_SPACE" - Sure space (very wide). 8668 // "EOL_SURE_SPACE" - Line-wrapping break. 8669 // "HYPHEN" - End-line hyphen that is not present in text; does not 8670 // co-occur with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 8671 // "LINE_BREAK" - Line break that ends a paragraph. 8672 Type string `json:"type,omitempty"` 8673 8674 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 8675 // unconditionally include in API requests. By default, fields with 8676 // empty or default values are omitted from API requests. However, any 8677 // non-pointer, non-interface field appearing in ForceSendFields will be 8678 // sent to the server regardless of whether the field is empty or not. 8679 // This may be used to include empty fields in Patch requests. 8680 ForceSendFields []string `json:"-"` 8681 8682 // NullFields is a list of field names (e.g. "IsPrefix") to include in 8683 // API requests with the JSON null value. By default, fields with empty 8684 // values are omitted from API requests. However, any field with an 8685 // empty value appearing in NullFields will be sent to the server as 8686 // null. It is an error if a field in this list has a non-empty value. 8687 // This may be used to include null fields in Patch requests. 8688 NullFields []string `json:"-"` 8689} 8690 8691func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 8692 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak 8693 raw := NoMethod(*s) 8694 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8695} 8696 8697// GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage: Detected 8698// language for a structural component. 8699type GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage struct { 8700 // Confidence: Confidence of detected language. Range [0, 1]. 8701 Confidence float64 `json:"confidence,omitempty"` 8702 8703 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 8704 // For more information, see 8705 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 8706 LanguageCode string `json:"languageCode,omitempty"` 8707 8708 // ForceSendFields is a list of field names (e.g. "Confidence") to 8709 // unconditionally include in API requests. By default, fields with 8710 // empty or default values are omitted from API requests. However, any 8711 // non-pointer, non-interface field appearing in ForceSendFields will be 8712 // sent to the server regardless of whether the field is empty or not. 8713 // This may be used to include empty fields in Patch requests. 8714 ForceSendFields []string `json:"-"` 8715 8716 // NullFields is a list of field names (e.g. "Confidence") to include in 8717 // API requests with the JSON null value. By default, fields with empty 8718 // values are omitted from API requests. However, any field with an 8719 // empty value appearing in NullFields will be sent to the server as 8720 // null. It is an error if a field in this list has a non-empty value. 8721 // This may be used to include null fields in Patch requests. 8722 NullFields []string `json:"-"` 8723} 8724 8725func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 8726 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage 8727 raw := NoMethod(*s) 8728 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8729} 8730 8731func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 8732 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage 8733 var s1 struct { 8734 Confidence gensupport.JSONFloat64 `json:"confidence"` 8735 *NoMethod 8736 } 8737 s1.NoMethod = (*NoMethod)(s) 8738 if err := json.Unmarshal(data, &s1); err != nil { 8739 return err 8740 } 8741 s.Confidence = float64(s1.Confidence) 8742 return nil 8743} 8744 8745// GoogleCloudVisionV1p3beta1TextAnnotationTextProperty: Additional 8746// information detected on the structural component. 8747type GoogleCloudVisionV1p3beta1TextAnnotationTextProperty struct { 8748 // DetectedBreak: Detected start or end of a text segment. 8749 DetectedBreak *GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 8750 8751 // DetectedLanguages: A list of detected languages together with 8752 // confidence. 8753 DetectedLanguages []*GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 8754 8755 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 8756 // unconditionally include in API requests. By default, fields with 8757 // empty or default values are omitted from API requests. However, any 8758 // non-pointer, non-interface field appearing in ForceSendFields will be 8759 // sent to the server regardless of whether the field is empty or not. 8760 // This may be used to include empty fields in Patch requests. 8761 ForceSendFields []string `json:"-"` 8762 8763 // NullFields is a list of field names (e.g. "DetectedBreak") to include 8764 // in API requests with the JSON null value. By default, fields with 8765 // empty values are omitted from API requests. However, any field with 8766 // an empty value appearing in NullFields will be sent to the server as 8767 // null. It is an error if a field in this list has a non-empty value. 8768 // This may be used to include null fields in Patch requests. 8769 NullFields []string `json:"-"` 8770} 8771 8772func (s *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 8773 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationTextProperty 8774 raw := NoMethod(*s) 8775 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8776} 8777 8778// GoogleCloudVisionV1p3beta1Vertex: A vertex represents a 2D point in 8779// the image. NOTE: the vertex coordinates are in the same scale as the 8780// original image. 8781type GoogleCloudVisionV1p3beta1Vertex struct { 8782 // X: X coordinate. 8783 X int64 `json:"x,omitempty"` 8784 8785 // Y: Y coordinate. 8786 Y int64 `json:"y,omitempty"` 8787 8788 // ForceSendFields is a list of field names (e.g. "X") to 8789 // unconditionally include in API requests. By default, fields with 8790 // empty or default values are omitted from API requests. However, any 8791 // non-pointer, non-interface field appearing in ForceSendFields will be 8792 // sent to the server regardless of whether the field is empty or not. 8793 // This may be used to include empty fields in Patch requests. 8794 ForceSendFields []string `json:"-"` 8795 8796 // NullFields is a list of field names (e.g. "X") to include in API 8797 // requests with the JSON null value. By default, fields with empty 8798 // values are omitted from API requests. However, any field with an 8799 // empty value appearing in NullFields will be sent to the server as 8800 // null. It is an error if a field in this list has a non-empty value. 8801 // This may be used to include null fields in Patch requests. 8802 NullFields []string `json:"-"` 8803} 8804 8805func (s *GoogleCloudVisionV1p3beta1Vertex) MarshalJSON() ([]byte, error) { 8806 type NoMethod GoogleCloudVisionV1p3beta1Vertex 8807 raw := NoMethod(*s) 8808 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8809} 8810 8811// GoogleCloudVisionV1p3beta1WebDetection: Relevant information for the 8812// image from the Internet. 8813type GoogleCloudVisionV1p3beta1WebDetection struct { 8814 // BestGuessLabels: The service's best guess as to the topic of the 8815 // request image. Inferred from similar images on the open web. 8816 BestGuessLabels []*GoogleCloudVisionV1p3beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 8817 8818 // FullMatchingImages: Fully matching images from the Internet. Can 8819 // include resized copies of the query image. 8820 FullMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 8821 8822 // PagesWithMatchingImages: Web pages containing the matching images 8823 // from the Internet. 8824 PagesWithMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 8825 8826 // PartialMatchingImages: Partial matching images from the Internet. 8827 // Those images are similar enough to share some key-point features. For 8828 // example an original image will likely have partial matching for its 8829 // crops. 8830 PartialMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 8831 8832 // VisuallySimilarImages: The visually similar image results. 8833 VisuallySimilarImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 8834 8835 // WebEntities: Deduced entities from similar images on the Internet. 8836 WebEntities []*GoogleCloudVisionV1p3beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 8837 8838 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 8839 // unconditionally include in API requests. By default, fields with 8840 // empty or default values are omitted from API requests. However, any 8841 // non-pointer, non-interface field appearing in ForceSendFields will be 8842 // sent to the server regardless of whether the field is empty or not. 8843 // This may be used to include empty fields in Patch requests. 8844 ForceSendFields []string `json:"-"` 8845 8846 // NullFields is a list of field names (e.g. "BestGuessLabels") to 8847 // include in API requests with the JSON null value. By default, fields 8848 // with empty values are omitted from API requests. However, any field 8849 // with an empty value appearing in NullFields will be sent to the 8850 // server as null. It is an error if a field in this list has a 8851 // non-empty value. This may be used to include null fields in Patch 8852 // requests. 8853 NullFields []string `json:"-"` 8854} 8855 8856func (s *GoogleCloudVisionV1p3beta1WebDetection) MarshalJSON() ([]byte, error) { 8857 type NoMethod GoogleCloudVisionV1p3beta1WebDetection 8858 raw := NoMethod(*s) 8859 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8860} 8861 8862// GoogleCloudVisionV1p3beta1WebDetectionWebEntity: Entity deduced from 8863// similar images on the Internet. 8864type GoogleCloudVisionV1p3beta1WebDetectionWebEntity struct { 8865 // Description: Canonical description of the entity, in English. 8866 Description string `json:"description,omitempty"` 8867 8868 // EntityId: Opaque entity ID. 8869 EntityId string `json:"entityId,omitempty"` 8870 8871 // Score: Overall relevancy score for the entity. Not normalized and not 8872 // comparable across different image queries. 8873 Score float64 `json:"score,omitempty"` 8874 8875 // ForceSendFields is a list of field names (e.g. "Description") to 8876 // unconditionally include in API requests. By default, fields with 8877 // empty or default values are omitted from API requests. However, any 8878 // non-pointer, non-interface field appearing in ForceSendFields will be 8879 // sent to the server regardless of whether the field is empty or not. 8880 // This may be used to include empty fields in Patch requests. 8881 ForceSendFields []string `json:"-"` 8882 8883 // NullFields is a list of field names (e.g. "Description") to include 8884 // in API requests with the JSON null value. By default, fields with 8885 // empty values are omitted from API requests. However, any field with 8886 // an empty value appearing in NullFields will be sent to the server as 8887 // null. It is an error if a field in this list has a non-empty value. 8888 // This may be used to include null fields in Patch requests. 8889 NullFields []string `json:"-"` 8890} 8891 8892func (s *GoogleCloudVisionV1p3beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 8893 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebEntity 8894 raw := NoMethod(*s) 8895 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8896} 8897 8898func (s *GoogleCloudVisionV1p3beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 8899 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebEntity 8900 var s1 struct { 8901 Score gensupport.JSONFloat64 `json:"score"` 8902 *NoMethod 8903 } 8904 s1.NoMethod = (*NoMethod)(s) 8905 if err := json.Unmarshal(data, &s1); err != nil { 8906 return err 8907 } 8908 s.Score = float64(s1.Score) 8909 return nil 8910} 8911 8912// GoogleCloudVisionV1p3beta1WebDetectionWebImage: Metadata for online 8913// images. 8914type GoogleCloudVisionV1p3beta1WebDetectionWebImage struct { 8915 // Score: (Deprecated) Overall relevancy score for the image. 8916 Score float64 `json:"score,omitempty"` 8917 8918 // Url: The result image URL. 8919 Url string `json:"url,omitempty"` 8920 8921 // ForceSendFields is a list of field names (e.g. "Score") to 8922 // unconditionally include in API requests. By default, fields with 8923 // empty or default values are omitted from API requests. However, any 8924 // non-pointer, non-interface field appearing in ForceSendFields will be 8925 // sent to the server regardless of whether the field is empty or not. 8926 // This may be used to include empty fields in Patch requests. 8927 ForceSendFields []string `json:"-"` 8928 8929 // NullFields is a list of field names (e.g. "Score") to include in API 8930 // requests with the JSON null value. By default, fields with empty 8931 // values are omitted from API requests. However, any field with an 8932 // empty value appearing in NullFields will be sent to the server as 8933 // null. It is an error if a field in this list has a non-empty value. 8934 // This may be used to include null fields in Patch requests. 8935 NullFields []string `json:"-"` 8936} 8937 8938func (s *GoogleCloudVisionV1p3beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 8939 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebImage 8940 raw := NoMethod(*s) 8941 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8942} 8943 8944func (s *GoogleCloudVisionV1p3beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 8945 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebImage 8946 var s1 struct { 8947 Score gensupport.JSONFloat64 `json:"score"` 8948 *NoMethod 8949 } 8950 s1.NoMethod = (*NoMethod)(s) 8951 if err := json.Unmarshal(data, &s1); err != nil { 8952 return err 8953 } 8954 s.Score = float64(s1.Score) 8955 return nil 8956} 8957 8958// GoogleCloudVisionV1p3beta1WebDetectionWebLabel: Label to provide 8959// extra metadata for the web detection. 8960type GoogleCloudVisionV1p3beta1WebDetectionWebLabel struct { 8961 // Label: Label for extra metadata. 8962 Label string `json:"label,omitempty"` 8963 8964 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 8965 // or "sr-Latn". For more information, see 8966 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 8967 LanguageCode string `json:"languageCode,omitempty"` 8968 8969 // ForceSendFields is a list of field names (e.g. "Label") to 8970 // unconditionally include in API requests. By default, fields with 8971 // empty or default values are omitted from API requests. However, any 8972 // non-pointer, non-interface field appearing in ForceSendFields will be 8973 // sent to the server regardless of whether the field is empty or not. 8974 // This may be used to include empty fields in Patch requests. 8975 ForceSendFields []string `json:"-"` 8976 8977 // NullFields is a list of field names (e.g. "Label") to include in API 8978 // requests with the JSON null value. By default, fields with empty 8979 // values are omitted from API requests. However, any field with an 8980 // empty value appearing in NullFields will be sent to the server as 8981 // null. It is an error if a field in this list has a non-empty value. 8982 // This may be used to include null fields in Patch requests. 8983 NullFields []string `json:"-"` 8984} 8985 8986func (s *GoogleCloudVisionV1p3beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 8987 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebLabel 8988 raw := NoMethod(*s) 8989 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8990} 8991 8992// GoogleCloudVisionV1p3beta1WebDetectionWebPage: Metadata for web 8993// pages. 8994type GoogleCloudVisionV1p3beta1WebDetectionWebPage struct { 8995 // FullMatchingImages: Fully matching images on the page. Can include 8996 // resized copies of the query image. 8997 FullMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 8998 8999 // PageTitle: Title for the web page, may contain HTML markups. 9000 PageTitle string `json:"pageTitle,omitempty"` 9001 9002 // PartialMatchingImages: Partial matching images on the page. Those 9003 // images are similar enough to share some key-point features. For 9004 // example an original image will likely have partial matching for its 9005 // crops. 9006 PartialMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 9007 9008 // Score: (Deprecated) Overall relevancy score for the web page. 9009 Score float64 `json:"score,omitempty"` 9010 9011 // Url: The result web page URL. 9012 Url string `json:"url,omitempty"` 9013 9014 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 9015 // to unconditionally include in API requests. By default, fields with 9016 // empty or default values are omitted from API requests. However, any 9017 // non-pointer, non-interface field appearing in ForceSendFields will be 9018 // sent to the server regardless of whether the field is empty or not. 9019 // This may be used to include empty fields in Patch requests. 9020 ForceSendFields []string `json:"-"` 9021 9022 // NullFields is a list of field names (e.g. "FullMatchingImages") to 9023 // include in API requests with the JSON null value. By default, fields 9024 // with empty values are omitted from API requests. However, any field 9025 // with an empty value appearing in NullFields will be sent to the 9026 // server as null. It is an error if a field in this list has a 9027 // non-empty value. This may be used to include null fields in Patch 9028 // requests. 9029 NullFields []string `json:"-"` 9030} 9031 9032func (s *GoogleCloudVisionV1p3beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 9033 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebPage 9034 raw := NoMethod(*s) 9035 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9036} 9037 9038func (s *GoogleCloudVisionV1p3beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 9039 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebPage 9040 var s1 struct { 9041 Score gensupport.JSONFloat64 `json:"score"` 9042 *NoMethod 9043 } 9044 s1.NoMethod = (*NoMethod)(s) 9045 if err := json.Unmarshal(data, &s1); err != nil { 9046 return err 9047 } 9048 s.Score = float64(s1.Score) 9049 return nil 9050} 9051 9052// GoogleCloudVisionV1p3beta1Word: A word representation. 9053type GoogleCloudVisionV1p3beta1Word struct { 9054 // BoundingBox: The bounding box for the word. The vertices are in the 9055 // order of top-left, top-right, bottom-right, bottom-left. When a 9056 // rotation of the bounding box is detected the rotation is represented 9057 // as around the top-left corner as defined when the text is read in the 9058 // 'natural' orientation. For example: * when the text is horizontal it 9059 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 9060 // around the top-left corner it becomes: 2----3 | | 1----0 and the 9061 // vertex order will still be (0, 1, 2, 3). 9062 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 9063 9064 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 9065 Confidence float64 `json:"confidence,omitempty"` 9066 9067 // Property: Additional information detected for the word. 9068 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 9069 9070 // Symbols: List of symbols in the word. The order of the symbols 9071 // follows the natural reading order. 9072 Symbols []*GoogleCloudVisionV1p3beta1Symbol `json:"symbols,omitempty"` 9073 9074 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 9075 // unconditionally include in API requests. By default, fields with 9076 // empty or default values are omitted from API requests. However, any 9077 // non-pointer, non-interface field appearing in ForceSendFields will be 9078 // sent to the server regardless of whether the field is empty or not. 9079 // This may be used to include empty fields in Patch requests. 9080 ForceSendFields []string `json:"-"` 9081 9082 // NullFields is a list of field names (e.g. "BoundingBox") to include 9083 // in API requests with the JSON null value. By default, fields with 9084 // empty values are omitted from API requests. However, any field with 9085 // an empty value appearing in NullFields will be sent to the server as 9086 // null. It is an error if a field in this list has a non-empty value. 9087 // This may be used to include null fields in Patch requests. 9088 NullFields []string `json:"-"` 9089} 9090 9091func (s *GoogleCloudVisionV1p3beta1Word) MarshalJSON() ([]byte, error) { 9092 type NoMethod GoogleCloudVisionV1p3beta1Word 9093 raw := NoMethod(*s) 9094 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9095} 9096 9097func (s *GoogleCloudVisionV1p3beta1Word) UnmarshalJSON(data []byte) error { 9098 type NoMethod GoogleCloudVisionV1p3beta1Word 9099 var s1 struct { 9100 Confidence gensupport.JSONFloat64 `json:"confidence"` 9101 *NoMethod 9102 } 9103 s1.NoMethod = (*NoMethod)(s) 9104 if err := json.Unmarshal(data, &s1); err != nil { 9105 return err 9106 } 9107 s.Confidence = float64(s1.Confidence) 9108 return nil 9109} 9110 9111// GoogleCloudVisionV1p4beta1AnnotateFileResponse: Response to a single 9112// file annotation request. A file may contain one or more images, which 9113// individually have their own responses. 9114type GoogleCloudVisionV1p4beta1AnnotateFileResponse struct { 9115 // Error: If set, represents the error message for the failed request. 9116 // The `responses` field will not be set in this case. 9117 Error *Status `json:"error,omitempty"` 9118 9119 // InputConfig: Information about the file for which this response is 9120 // generated. 9121 InputConfig *GoogleCloudVisionV1p4beta1InputConfig `json:"inputConfig,omitempty"` 9122 9123 // Responses: Individual responses to images found within the file. This 9124 // field will be empty if the `error` field is set. 9125 Responses []*GoogleCloudVisionV1p4beta1AnnotateImageResponse `json:"responses,omitempty"` 9126 9127 // TotalPages: This field gives the total number of pages in the file. 9128 TotalPages int64 `json:"totalPages,omitempty"` 9129 9130 // ForceSendFields is a list of field names (e.g. "Error") to 9131 // unconditionally include in API requests. By default, fields with 9132 // empty or default values are omitted from API requests. However, any 9133 // non-pointer, non-interface field appearing in ForceSendFields will be 9134 // sent to the server regardless of whether the field is empty or not. 9135 // This may be used to include empty fields in Patch requests. 9136 ForceSendFields []string `json:"-"` 9137 9138 // NullFields is a list of field names (e.g. "Error") to include in API 9139 // requests with the JSON null value. By default, fields with empty 9140 // values are omitted from API requests. However, any field with an 9141 // empty value appearing in NullFields will be sent to the server as 9142 // null. It is an error if a field in this list has a non-empty value. 9143 // This may be used to include null fields in Patch requests. 9144 NullFields []string `json:"-"` 9145} 9146 9147func (s *GoogleCloudVisionV1p4beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 9148 type NoMethod GoogleCloudVisionV1p4beta1AnnotateFileResponse 9149 raw := NoMethod(*s) 9150 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9151} 9152 9153// GoogleCloudVisionV1p4beta1AnnotateImageResponse: Response to an image 9154// annotation request. 9155type GoogleCloudVisionV1p4beta1AnnotateImageResponse struct { 9156 // Context: If present, contextual information is needed to understand 9157 // where this image comes from. 9158 Context *GoogleCloudVisionV1p4beta1ImageAnnotationContext `json:"context,omitempty"` 9159 9160 // CropHintsAnnotation: If present, crop hints have completed 9161 // successfully. 9162 CropHintsAnnotation *GoogleCloudVisionV1p4beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 9163 9164 // Error: If set, represents the error message for the operation. Note 9165 // that filled-in image annotations are guaranteed to be correct, even 9166 // when `error` is set. 9167 Error *Status `json:"error,omitempty"` 9168 9169 // FaceAnnotations: If present, face detection has completed 9170 // successfully. 9171 FaceAnnotations []*GoogleCloudVisionV1p4beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 9172 9173 // FullTextAnnotation: If present, text (OCR) detection or document 9174 // (OCR) text detection has completed successfully. This annotation 9175 // provides the structural hierarchy for the OCR detected text. 9176 FullTextAnnotation *GoogleCloudVisionV1p4beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 9177 9178 // ImagePropertiesAnnotation: If present, image properties were 9179 // extracted successfully. 9180 ImagePropertiesAnnotation *GoogleCloudVisionV1p4beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 9181 9182 // LabelAnnotations: If present, label detection has completed 9183 // successfully. 9184 LabelAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 9185 9186 // LandmarkAnnotations: If present, landmark detection has completed 9187 // successfully. 9188 LandmarkAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 9189 9190 // LocalizedObjectAnnotations: If present, localized object detection 9191 // has completed successfully. This will be sorted descending by 9192 // confidence score. 9193 LocalizedObjectAnnotations []*GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 9194 9195 // LogoAnnotations: If present, logo detection has completed 9196 // successfully. 9197 LogoAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 9198 9199 // ProductSearchResults: If present, product search has completed 9200 // successfully. 9201 ProductSearchResults *GoogleCloudVisionV1p4beta1ProductSearchResults `json:"productSearchResults,omitempty"` 9202 9203 // SafeSearchAnnotation: If present, safe-search annotation has 9204 // completed successfully. 9205 SafeSearchAnnotation *GoogleCloudVisionV1p4beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 9206 9207 // TextAnnotations: If present, text (OCR) detection has completed 9208 // successfully. 9209 TextAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"textAnnotations,omitempty"` 9210 9211 // WebDetection: If present, web detection has completed successfully. 9212 WebDetection *GoogleCloudVisionV1p4beta1WebDetection `json:"webDetection,omitempty"` 9213 9214 // ForceSendFields is a list of field names (e.g. "Context") to 9215 // unconditionally include in API requests. By default, fields with 9216 // empty or default values are omitted from API requests. However, any 9217 // non-pointer, non-interface field appearing in ForceSendFields will be 9218 // sent to the server regardless of whether the field is empty or not. 9219 // This may be used to include empty fields in Patch requests. 9220 ForceSendFields []string `json:"-"` 9221 9222 // NullFields is a list of field names (e.g. "Context") to include in 9223 // API requests with the JSON null value. By default, fields with empty 9224 // values are omitted from API requests. However, any field with an 9225 // empty value appearing in NullFields will be sent to the server as 9226 // null. It is an error if a field in this list has a non-empty value. 9227 // This may be used to include null fields in Patch requests. 9228 NullFields []string `json:"-"` 9229} 9230 9231func (s *GoogleCloudVisionV1p4beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 9232 type NoMethod GoogleCloudVisionV1p4beta1AnnotateImageResponse 9233 raw := NoMethod(*s) 9234 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9235} 9236 9237// GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse: The response for 9238// a single offline file annotation request. 9239type GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse struct { 9240 // OutputConfig: The output location and metadata from 9241 // AsyncAnnotateFileRequest. 9242 OutputConfig *GoogleCloudVisionV1p4beta1OutputConfig `json:"outputConfig,omitempty"` 9243 9244 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 9245 // unconditionally include in API requests. By default, fields with 9246 // empty or default values are omitted from API requests. However, any 9247 // non-pointer, non-interface field appearing in ForceSendFields will be 9248 // sent to the server regardless of whether the field is empty or not. 9249 // This may be used to include empty fields in Patch requests. 9250 ForceSendFields []string `json:"-"` 9251 9252 // NullFields is a list of field names (e.g. "OutputConfig") to include 9253 // in API requests with the JSON null value. By default, fields with 9254 // empty values are omitted from API requests. However, any field with 9255 // an empty value appearing in NullFields will be sent to the server as 9256 // null. It is an error if a field in this list has a non-empty value. 9257 // This may be used to include null fields in Patch requests. 9258 NullFields []string `json:"-"` 9259} 9260 9261func (s *GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 9262 type NoMethod GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse 9263 raw := NoMethod(*s) 9264 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9265} 9266 9267// GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse: Response 9268// to an async batch file annotation request. 9269type GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse struct { 9270 // Responses: The list of file annotation responses, one for each 9271 // request in AsyncBatchAnnotateFilesRequest. 9272 Responses []*GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 9273 9274 // ForceSendFields is a list of field names (e.g. "Responses") to 9275 // unconditionally include in API requests. By default, fields with 9276 // empty or default values are omitted from API requests. However, any 9277 // non-pointer, non-interface field appearing in ForceSendFields will be 9278 // sent to the server regardless of whether the field is empty or not. 9279 // This may be used to include empty fields in Patch requests. 9280 ForceSendFields []string `json:"-"` 9281 9282 // NullFields is a list of field names (e.g. "Responses") to include in 9283 // API requests with the JSON null value. By default, fields with empty 9284 // values are omitted from API requests. However, any field with an 9285 // empty value appearing in NullFields will be sent to the server as 9286 // null. It is an error if a field in this list has a non-empty value. 9287 // This may be used to include null fields in Patch requests. 9288 NullFields []string `json:"-"` 9289} 9290 9291func (s *GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 9292 type NoMethod GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse 9293 raw := NoMethod(*s) 9294 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9295} 9296 9297// GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse: Response 9298// to an async batch image annotation request. 9299type GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse struct { 9300 // OutputConfig: The output location and metadata from 9301 // AsyncBatchAnnotateImagesRequest. 9302 OutputConfig *GoogleCloudVisionV1p4beta1OutputConfig `json:"outputConfig,omitempty"` 9303 9304 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 9305 // unconditionally include in API requests. By default, fields with 9306 // empty or default values are omitted from API requests. However, any 9307 // non-pointer, non-interface field appearing in ForceSendFields will be 9308 // sent to the server regardless of whether the field is empty or not. 9309 // This may be used to include empty fields in Patch requests. 9310 ForceSendFields []string `json:"-"` 9311 9312 // NullFields is a list of field names (e.g. "OutputConfig") to include 9313 // in API requests with the JSON null value. By default, fields with 9314 // empty values are omitted from API requests. However, any field with 9315 // an empty value appearing in NullFields will be sent to the server as 9316 // null. It is an error if a field in this list has a non-empty value. 9317 // This may be used to include null fields in Patch requests. 9318 NullFields []string `json:"-"` 9319} 9320 9321func (s *GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 9322 type NoMethod GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse 9323 raw := NoMethod(*s) 9324 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9325} 9326 9327// GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse: A list of file 9328// annotation responses. 9329type GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse struct { 9330 // Responses: The list of file annotation responses, each response 9331 // corresponding to each AnnotateFileRequest in 9332 // BatchAnnotateFilesRequest. 9333 Responses []*GoogleCloudVisionV1p4beta1AnnotateFileResponse `json:"responses,omitempty"` 9334 9335 // ForceSendFields is a list of field names (e.g. "Responses") to 9336 // unconditionally include in API requests. By default, fields with 9337 // empty or default values are omitted from API requests. However, any 9338 // non-pointer, non-interface field appearing in ForceSendFields will be 9339 // sent to the server regardless of whether the field is empty or not. 9340 // This may be used to include empty fields in Patch requests. 9341 ForceSendFields []string `json:"-"` 9342 9343 // NullFields is a list of field names (e.g. "Responses") to include in 9344 // API requests with the JSON null value. By default, fields with empty 9345 // values are omitted from API requests. However, any field with an 9346 // empty value appearing in NullFields will be sent to the server as 9347 // null. It is an error if a field in this list has a non-empty value. 9348 // This may be used to include null fields in Patch requests. 9349 NullFields []string `json:"-"` 9350} 9351 9352func (s *GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 9353 type NoMethod GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse 9354 raw := NoMethod(*s) 9355 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9356} 9357 9358// GoogleCloudVisionV1p4beta1BatchOperationMetadata: Metadata for the 9359// batch operations such as the current state. This is included in the 9360// `metadata` field of the `Operation` returned by the `GetOperation` 9361// call of the `google::longrunning::Operations` service. 9362type GoogleCloudVisionV1p4beta1BatchOperationMetadata struct { 9363 // EndTime: The time when the batch request is finished and 9364 // google.longrunning.Operation.done is set to true. 9365 EndTime string `json:"endTime,omitempty"` 9366 9367 // State: The current state of the batch operation. 9368 // 9369 // Possible values: 9370 // "STATE_UNSPECIFIED" - Invalid. 9371 // "PROCESSING" - Request is actively being processed. 9372 // "SUCCESSFUL" - The request is done and at least one item has been 9373 // successfully processed. 9374 // "FAILED" - The request is done and no item has been successfully 9375 // processed. 9376 // "CANCELLED" - The request is done after the 9377 // longrunning.Operations.CancelOperation has been called by the user. 9378 // Any records that were processed before the cancel command are output 9379 // as specified in the request. 9380 State string `json:"state,omitempty"` 9381 9382 // SubmitTime: The time when the batch request was submitted to the 9383 // server. 9384 SubmitTime string `json:"submitTime,omitempty"` 9385 9386 // ForceSendFields is a list of field names (e.g. "EndTime") to 9387 // unconditionally include in API requests. By default, fields with 9388 // empty or default values are omitted from API requests. However, any 9389 // non-pointer, non-interface field appearing in ForceSendFields will be 9390 // sent to the server regardless of whether the field is empty or not. 9391 // This may be used to include empty fields in Patch requests. 9392 ForceSendFields []string `json:"-"` 9393 9394 // NullFields is a list of field names (e.g. "EndTime") to include in 9395 // API requests with the JSON null value. By default, fields with empty 9396 // values are omitted from API requests. However, any field with an 9397 // empty value appearing in NullFields will be sent to the server as 9398 // null. It is an error if a field in this list has a non-empty value. 9399 // This may be used to include null fields in Patch requests. 9400 NullFields []string `json:"-"` 9401} 9402 9403func (s *GoogleCloudVisionV1p4beta1BatchOperationMetadata) MarshalJSON() ([]byte, error) { 9404 type NoMethod GoogleCloudVisionV1p4beta1BatchOperationMetadata 9405 raw := NoMethod(*s) 9406 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9407} 9408 9409// GoogleCloudVisionV1p4beta1Block: Logical element on the page. 9410type GoogleCloudVisionV1p4beta1Block struct { 9411 // BlockType: Detected block type (text, image etc) for this block. 9412 // 9413 // Possible values: 9414 // "UNKNOWN" - Unknown block type. 9415 // "TEXT" - Regular text block. 9416 // "TABLE" - Table block. 9417 // "PICTURE" - Image block. 9418 // "RULER" - Horizontal/vertical line box. 9419 // "BARCODE" - Barcode block. 9420 BlockType string `json:"blockType,omitempty"` 9421 9422 // BoundingBox: The bounding box for the block. The vertices are in the 9423 // order of top-left, top-right, bottom-right, bottom-left. When a 9424 // rotation of the bounding box is detected the rotation is represented 9425 // as around the top-left corner as defined when the text is read in the 9426 // 'natural' orientation. For example: * when the text is horizontal it 9427 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 9428 // around the top-left corner it becomes: 2----3 | | 1----0 and the 9429 // vertex order will still be (0, 1, 2, 3). 9430 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 9431 9432 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 9433 Confidence float64 `json:"confidence,omitempty"` 9434 9435 // Paragraphs: List of paragraphs in this block (if this blocks is of 9436 // type text). 9437 Paragraphs []*GoogleCloudVisionV1p4beta1Paragraph `json:"paragraphs,omitempty"` 9438 9439 // Property: Additional information detected for the block. 9440 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 9441 9442 // ForceSendFields is a list of field names (e.g. "BlockType") to 9443 // unconditionally include in API requests. By default, fields with 9444 // empty or default values are omitted from API requests. However, any 9445 // non-pointer, non-interface field appearing in ForceSendFields will be 9446 // sent to the server regardless of whether the field is empty or not. 9447 // This may be used to include empty fields in Patch requests. 9448 ForceSendFields []string `json:"-"` 9449 9450 // NullFields is a list of field names (e.g. "BlockType") to include in 9451 // API requests with the JSON null value. By default, fields with empty 9452 // values are omitted from API requests. However, any field with an 9453 // empty value appearing in NullFields will be sent to the server as 9454 // null. It is an error if a field in this list has a non-empty value. 9455 // This may be used to include null fields in Patch requests. 9456 NullFields []string `json:"-"` 9457} 9458 9459func (s *GoogleCloudVisionV1p4beta1Block) MarshalJSON() ([]byte, error) { 9460 type NoMethod GoogleCloudVisionV1p4beta1Block 9461 raw := NoMethod(*s) 9462 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9463} 9464 9465func (s *GoogleCloudVisionV1p4beta1Block) UnmarshalJSON(data []byte) error { 9466 type NoMethod GoogleCloudVisionV1p4beta1Block 9467 var s1 struct { 9468 Confidence gensupport.JSONFloat64 `json:"confidence"` 9469 *NoMethod 9470 } 9471 s1.NoMethod = (*NoMethod)(s) 9472 if err := json.Unmarshal(data, &s1); err != nil { 9473 return err 9474 } 9475 s.Confidence = float64(s1.Confidence) 9476 return nil 9477} 9478 9479// GoogleCloudVisionV1p4beta1BoundingPoly: A bounding polygon for the 9480// detected image annotation. 9481type GoogleCloudVisionV1p4beta1BoundingPoly struct { 9482 // NormalizedVertices: The bounding polygon normalized vertices. 9483 NormalizedVertices []*GoogleCloudVisionV1p4beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 9484 9485 // Vertices: The bounding polygon vertices. 9486 Vertices []*GoogleCloudVisionV1p4beta1Vertex `json:"vertices,omitempty"` 9487 9488 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 9489 // to unconditionally include in API requests. By default, fields with 9490 // empty or default values are omitted from API requests. However, any 9491 // non-pointer, non-interface field appearing in ForceSendFields will be 9492 // sent to the server regardless of whether the field is empty or not. 9493 // This may be used to include empty fields in Patch requests. 9494 ForceSendFields []string `json:"-"` 9495 9496 // NullFields is a list of field names (e.g. "NormalizedVertices") to 9497 // include in API requests with the JSON null value. By default, fields 9498 // with empty values are omitted from API requests. However, any field 9499 // with an empty value appearing in NullFields will be sent to the 9500 // server as null. It is an error if a field in this list has a 9501 // non-empty value. This may be used to include null fields in Patch 9502 // requests. 9503 NullFields []string `json:"-"` 9504} 9505 9506func (s *GoogleCloudVisionV1p4beta1BoundingPoly) MarshalJSON() ([]byte, error) { 9507 type NoMethod GoogleCloudVisionV1p4beta1BoundingPoly 9508 raw := NoMethod(*s) 9509 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9510} 9511 9512// GoogleCloudVisionV1p4beta1Celebrity: A Celebrity is a group of Faces 9513// with an identity. 9514type GoogleCloudVisionV1p4beta1Celebrity struct { 9515 // Description: The Celebrity's description. 9516 Description string `json:"description,omitempty"` 9517 9518 // DisplayName: The Celebrity's display name. 9519 DisplayName string `json:"displayName,omitempty"` 9520 9521 // Name: The resource name of the preloaded Celebrity. Has the format 9522 // `builtin/{mid}`. 9523 Name string `json:"name,omitempty"` 9524 9525 // ForceSendFields is a list of field names (e.g. "Description") to 9526 // unconditionally include in API requests. By default, fields with 9527 // empty or default values are omitted from API requests. However, any 9528 // non-pointer, non-interface field appearing in ForceSendFields will be 9529 // sent to the server regardless of whether the field is empty or not. 9530 // This may be used to include empty fields in Patch requests. 9531 ForceSendFields []string `json:"-"` 9532 9533 // NullFields is a list of field names (e.g. "Description") to include 9534 // in API requests with the JSON null value. By default, fields with 9535 // empty values are omitted from API requests. However, any field with 9536 // an empty value appearing in NullFields will be sent to the server as 9537 // null. It is an error if a field in this list has a non-empty value. 9538 // This may be used to include null fields in Patch requests. 9539 NullFields []string `json:"-"` 9540} 9541 9542func (s *GoogleCloudVisionV1p4beta1Celebrity) MarshalJSON() ([]byte, error) { 9543 type NoMethod GoogleCloudVisionV1p4beta1Celebrity 9544 raw := NoMethod(*s) 9545 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9546} 9547 9548// GoogleCloudVisionV1p4beta1ColorInfo: Color information consists of 9549// RGB channels, score, and the fraction of the image that the color 9550// occupies in the image. 9551type GoogleCloudVisionV1p4beta1ColorInfo struct { 9552 // Color: RGB components of the color. 9553 Color *Color `json:"color,omitempty"` 9554 9555 // PixelFraction: The fraction of pixels the color occupies in the 9556 // image. Value in range [0, 1]. 9557 PixelFraction float64 `json:"pixelFraction,omitempty"` 9558 9559 // Score: Image-specific score for this color. Value in range [0, 1]. 9560 Score float64 `json:"score,omitempty"` 9561 9562 // ForceSendFields is a list of field names (e.g. "Color") to 9563 // unconditionally include in API requests. By default, fields with 9564 // empty or default values are omitted from API requests. However, any 9565 // non-pointer, non-interface field appearing in ForceSendFields will be 9566 // sent to the server regardless of whether the field is empty or not. 9567 // This may be used to include empty fields in Patch requests. 9568 ForceSendFields []string `json:"-"` 9569 9570 // NullFields is a list of field names (e.g. "Color") to include in API 9571 // requests with the JSON null value. By default, fields with empty 9572 // values are omitted from API requests. However, any field with an 9573 // empty value appearing in NullFields will be sent to the server as 9574 // null. It is an error if a field in this list has a non-empty value. 9575 // This may be used to include null fields in Patch requests. 9576 NullFields []string `json:"-"` 9577} 9578 9579func (s *GoogleCloudVisionV1p4beta1ColorInfo) MarshalJSON() ([]byte, error) { 9580 type NoMethod GoogleCloudVisionV1p4beta1ColorInfo 9581 raw := NoMethod(*s) 9582 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9583} 9584 9585func (s *GoogleCloudVisionV1p4beta1ColorInfo) UnmarshalJSON(data []byte) error { 9586 type NoMethod GoogleCloudVisionV1p4beta1ColorInfo 9587 var s1 struct { 9588 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 9589 Score gensupport.JSONFloat64 `json:"score"` 9590 *NoMethod 9591 } 9592 s1.NoMethod = (*NoMethod)(s) 9593 if err := json.Unmarshal(data, &s1); err != nil { 9594 return err 9595 } 9596 s.PixelFraction = float64(s1.PixelFraction) 9597 s.Score = float64(s1.Score) 9598 return nil 9599} 9600 9601// GoogleCloudVisionV1p4beta1CropHint: Single crop hint that is used to 9602// generate a new crop when serving an image. 9603type GoogleCloudVisionV1p4beta1CropHint struct { 9604 // BoundingPoly: The bounding polygon for the crop region. The 9605 // coordinates of the bounding box are in the original image's scale. 9606 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 9607 9608 // Confidence: Confidence of this being a salient region. Range [0, 1]. 9609 Confidence float64 `json:"confidence,omitempty"` 9610 9611 // ImportanceFraction: Fraction of importance of this salient region 9612 // with respect to the original image. 9613 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 9614 9615 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 9616 // unconditionally include in API requests. By default, fields with 9617 // empty or default values are omitted from API requests. However, any 9618 // non-pointer, non-interface field appearing in ForceSendFields will be 9619 // sent to the server regardless of whether the field is empty or not. 9620 // This may be used to include empty fields in Patch requests. 9621 ForceSendFields []string `json:"-"` 9622 9623 // NullFields is a list of field names (e.g. "BoundingPoly") to include 9624 // in API requests with the JSON null value. By default, fields with 9625 // empty values are omitted from API requests. However, any field with 9626 // an empty value appearing in NullFields will be sent to the server as 9627 // null. It is an error if a field in this list has a non-empty value. 9628 // This may be used to include null fields in Patch requests. 9629 NullFields []string `json:"-"` 9630} 9631 9632func (s *GoogleCloudVisionV1p4beta1CropHint) MarshalJSON() ([]byte, error) { 9633 type NoMethod GoogleCloudVisionV1p4beta1CropHint 9634 raw := NoMethod(*s) 9635 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9636} 9637 9638func (s *GoogleCloudVisionV1p4beta1CropHint) UnmarshalJSON(data []byte) error { 9639 type NoMethod GoogleCloudVisionV1p4beta1CropHint 9640 var s1 struct { 9641 Confidence gensupport.JSONFloat64 `json:"confidence"` 9642 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 9643 *NoMethod 9644 } 9645 s1.NoMethod = (*NoMethod)(s) 9646 if err := json.Unmarshal(data, &s1); err != nil { 9647 return err 9648 } 9649 s.Confidence = float64(s1.Confidence) 9650 s.ImportanceFraction = float64(s1.ImportanceFraction) 9651 return nil 9652} 9653 9654// GoogleCloudVisionV1p4beta1CropHintsAnnotation: Set of crop hints that 9655// are used to generate new crops when serving images. 9656type GoogleCloudVisionV1p4beta1CropHintsAnnotation struct { 9657 // CropHints: Crop hint results. 9658 CropHints []*GoogleCloudVisionV1p4beta1CropHint `json:"cropHints,omitempty"` 9659 9660 // ForceSendFields is a list of field names (e.g. "CropHints") to 9661 // unconditionally include in API requests. By default, fields with 9662 // empty or default values are omitted from API requests. However, any 9663 // non-pointer, non-interface field appearing in ForceSendFields will be 9664 // sent to the server regardless of whether the field is empty or not. 9665 // This may be used to include empty fields in Patch requests. 9666 ForceSendFields []string `json:"-"` 9667 9668 // NullFields is a list of field names (e.g. "CropHints") to include in 9669 // API requests with the JSON null value. By default, fields with empty 9670 // values are omitted from API requests. However, any field with an 9671 // empty value appearing in NullFields will be sent to the server as 9672 // null. It is an error if a field in this list has a non-empty value. 9673 // This may be used to include null fields in Patch requests. 9674 NullFields []string `json:"-"` 9675} 9676 9677func (s *GoogleCloudVisionV1p4beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 9678 type NoMethod GoogleCloudVisionV1p4beta1CropHintsAnnotation 9679 raw := NoMethod(*s) 9680 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9681} 9682 9683// GoogleCloudVisionV1p4beta1DominantColorsAnnotation: Set of dominant 9684// colors and their corresponding scores. 9685type GoogleCloudVisionV1p4beta1DominantColorsAnnotation struct { 9686 // Colors: RGB color values with their score and pixel fraction. 9687 Colors []*GoogleCloudVisionV1p4beta1ColorInfo `json:"colors,omitempty"` 9688 9689 // ForceSendFields is a list of field names (e.g. "Colors") to 9690 // unconditionally include in API requests. By default, fields with 9691 // empty or default values are omitted from API requests. However, any 9692 // non-pointer, non-interface field appearing in ForceSendFields will be 9693 // sent to the server regardless of whether the field is empty or not. 9694 // This may be used to include empty fields in Patch requests. 9695 ForceSendFields []string `json:"-"` 9696 9697 // NullFields is a list of field names (e.g. "Colors") to include in API 9698 // requests with the JSON null value. By default, fields with empty 9699 // values are omitted from API requests. However, any field with an 9700 // empty value appearing in NullFields will be sent to the server as 9701 // null. It is an error if a field in this list has a non-empty value. 9702 // This may be used to include null fields in Patch requests. 9703 NullFields []string `json:"-"` 9704} 9705 9706func (s *GoogleCloudVisionV1p4beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 9707 type NoMethod GoogleCloudVisionV1p4beta1DominantColorsAnnotation 9708 raw := NoMethod(*s) 9709 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9710} 9711 9712// GoogleCloudVisionV1p4beta1EntityAnnotation: Set of detected entity 9713// features. 9714type GoogleCloudVisionV1p4beta1EntityAnnotation struct { 9715 // BoundingPoly: Image region to which this entity belongs. Not produced 9716 // for `LABEL_DETECTION` features. 9717 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 9718 9719 // Confidence: **Deprecated. Use `score` instead.** The accuracy of the 9720 // entity detection in an image. For example, for an image in which the 9721 // "Eiffel Tower" entity is detected, this field represents the 9722 // confidence that there is a tower in the query image. Range [0, 1]. 9723 Confidence float64 `json:"confidence,omitempty"` 9724 9725 // Description: Entity textual description, expressed in its `locale` 9726 // language. 9727 Description string `json:"description,omitempty"` 9728 9729 // Locale: The language code for the locale in which the entity textual 9730 // `description` is expressed. 9731 Locale string `json:"locale,omitempty"` 9732 9733 // Locations: The location information for the detected entity. Multiple 9734 // `LocationInfo` elements can be present because one location may 9735 // indicate the location of the scene in the image, and another location 9736 // may indicate the location of the place where the image was taken. 9737 // Location information is usually present for landmarks. 9738 Locations []*GoogleCloudVisionV1p4beta1LocationInfo `json:"locations,omitempty"` 9739 9740 // Mid: Opaque entity ID. Some IDs may be available in Google Knowledge 9741 // Graph Search API (https://developers.google.com/knowledge-graph/). 9742 Mid string `json:"mid,omitempty"` 9743 9744 // Properties: Some entities may have optional user-supplied `Property` 9745 // (name/value) fields, such a score or string that qualifies the 9746 // entity. 9747 Properties []*GoogleCloudVisionV1p4beta1Property `json:"properties,omitempty"` 9748 9749 // Score: Overall score of the result. Range [0, 1]. 9750 Score float64 `json:"score,omitempty"` 9751 9752 // Topicality: The relevancy of the ICA (Image Content Annotation) label 9753 // to the image. For example, the relevancy of "tower" is likely higher 9754 // to an image containing the detected "Eiffel Tower" than to an image 9755 // containing a detected distant towering building, even though the 9756 // confidence that there is a tower in each image may be the same. Range 9757 // [0, 1]. 9758 Topicality float64 `json:"topicality,omitempty"` 9759 9760 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 9761 // unconditionally include in API requests. By default, fields with 9762 // empty or default values are omitted from API requests. However, any 9763 // non-pointer, non-interface field appearing in ForceSendFields will be 9764 // sent to the server regardless of whether the field is empty or not. 9765 // This may be used to include empty fields in Patch requests. 9766 ForceSendFields []string `json:"-"` 9767 9768 // NullFields is a list of field names (e.g. "BoundingPoly") to include 9769 // in API requests with the JSON null value. By default, fields with 9770 // empty values are omitted from API requests. However, any field with 9771 // an empty value appearing in NullFields will be sent to the server as 9772 // null. It is an error if a field in this list has a non-empty value. 9773 // This may be used to include null fields in Patch requests. 9774 NullFields []string `json:"-"` 9775} 9776 9777func (s *GoogleCloudVisionV1p4beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 9778 type NoMethod GoogleCloudVisionV1p4beta1EntityAnnotation 9779 raw := NoMethod(*s) 9780 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9781} 9782 9783func (s *GoogleCloudVisionV1p4beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 9784 type NoMethod GoogleCloudVisionV1p4beta1EntityAnnotation 9785 var s1 struct { 9786 Confidence gensupport.JSONFloat64 `json:"confidence"` 9787 Score gensupport.JSONFloat64 `json:"score"` 9788 Topicality gensupport.JSONFloat64 `json:"topicality"` 9789 *NoMethod 9790 } 9791 s1.NoMethod = (*NoMethod)(s) 9792 if err := json.Unmarshal(data, &s1); err != nil { 9793 return err 9794 } 9795 s.Confidence = float64(s1.Confidence) 9796 s.Score = float64(s1.Score) 9797 s.Topicality = float64(s1.Topicality) 9798 return nil 9799} 9800 9801// GoogleCloudVisionV1p4beta1FaceAnnotation: A face annotation object 9802// contains the results of face detection. 9803type GoogleCloudVisionV1p4beta1FaceAnnotation struct { 9804 // AngerLikelihood: Anger likelihood. 9805 // 9806 // Possible values: 9807 // "UNKNOWN" - Unknown likelihood. 9808 // "VERY_UNLIKELY" - It is very unlikely. 9809 // "UNLIKELY" - It is unlikely. 9810 // "POSSIBLE" - It is possible. 9811 // "LIKELY" - It is likely. 9812 // "VERY_LIKELY" - It is very likely. 9813 AngerLikelihood string `json:"angerLikelihood,omitempty"` 9814 9815 // BlurredLikelihood: Blurred likelihood. 9816 // 9817 // Possible values: 9818 // "UNKNOWN" - Unknown likelihood. 9819 // "VERY_UNLIKELY" - It is very unlikely. 9820 // "UNLIKELY" - It is unlikely. 9821 // "POSSIBLE" - It is possible. 9822 // "LIKELY" - It is likely. 9823 // "VERY_LIKELY" - It is very likely. 9824 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 9825 9826 // BoundingPoly: The bounding polygon around the face. The coordinates 9827 // of the bounding box are in the original image's scale. The bounding 9828 // box is computed to "frame" the face in accordance with human 9829 // expectations. It is based on the landmarker results. Note that one or 9830 // more x and/or y coordinates may not be generated in the 9831 // `BoundingPoly` (the polygon will be unbounded) if only a partial face 9832 // appears in the image to be annotated. 9833 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 9834 9835 // DetectionConfidence: Detection confidence. Range [0, 1]. 9836 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 9837 9838 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 9839 // than the `boundingPoly`, and encloses only the skin part of the face. 9840 // Typically, it is used to eliminate the face from any image analysis 9841 // that detects the "amount of skin" visible in an image. It is not 9842 // based on the landmarker results, only on the initial face detection, 9843 // hence the fd (face detection) prefix. 9844 FdBoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 9845 9846 // HeadwearLikelihood: Headwear likelihood. 9847 // 9848 // Possible values: 9849 // "UNKNOWN" - Unknown likelihood. 9850 // "VERY_UNLIKELY" - It is very unlikely. 9851 // "UNLIKELY" - It is unlikely. 9852 // "POSSIBLE" - It is possible. 9853 // "LIKELY" - It is likely. 9854 // "VERY_LIKELY" - It is very likely. 9855 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 9856 9857 // JoyLikelihood: Joy likelihood. 9858 // 9859 // Possible values: 9860 // "UNKNOWN" - Unknown likelihood. 9861 // "VERY_UNLIKELY" - It is very unlikely. 9862 // "UNLIKELY" - It is unlikely. 9863 // "POSSIBLE" - It is possible. 9864 // "LIKELY" - It is likely. 9865 // "VERY_LIKELY" - It is very likely. 9866 JoyLikelihood string `json:"joyLikelihood,omitempty"` 9867 9868 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 9869 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 9870 9871 // Landmarks: Detected face landmarks. 9872 Landmarks []*GoogleCloudVisionV1p4beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 9873 9874 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 9875 // that the face is pointing relative to the vertical plane 9876 // perpendicular to the image. Range [-180,180]. 9877 PanAngle float64 `json:"panAngle,omitempty"` 9878 9879 // RecognitionResult: Additional recognition information. Only computed 9880 // if image_context.face_recognition_params is provided, **and** a match 9881 // is found to a Celebrity in the input CelebritySet. This field is 9882 // sorted in order of decreasing confidence values. 9883 RecognitionResult []*GoogleCloudVisionV1p4beta1FaceRecognitionResult `json:"recognitionResult,omitempty"` 9884 9885 // RollAngle: Roll angle, which indicates the amount of 9886 // clockwise/anti-clockwise rotation of the face relative to the image 9887 // vertical about the axis perpendicular to the face. Range [-180,180]. 9888 RollAngle float64 `json:"rollAngle,omitempty"` 9889 9890 // SorrowLikelihood: Sorrow likelihood. 9891 // 9892 // Possible values: 9893 // "UNKNOWN" - Unknown likelihood. 9894 // "VERY_UNLIKELY" - It is very unlikely. 9895 // "UNLIKELY" - It is unlikely. 9896 // "POSSIBLE" - It is possible. 9897 // "LIKELY" - It is likely. 9898 // "VERY_LIKELY" - It is very likely. 9899 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 9900 9901 // SurpriseLikelihood: Surprise likelihood. 9902 // 9903 // Possible values: 9904 // "UNKNOWN" - Unknown likelihood. 9905 // "VERY_UNLIKELY" - It is very unlikely. 9906 // "UNLIKELY" - It is unlikely. 9907 // "POSSIBLE" - It is possible. 9908 // "LIKELY" - It is likely. 9909 // "VERY_LIKELY" - It is very likely. 9910 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 9911 9912 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 9913 // that the face is pointing relative to the image's horizontal plane. 9914 // Range [-180,180]. 9915 TiltAngle float64 `json:"tiltAngle,omitempty"` 9916 9917 // UnderExposedLikelihood: Under-exposed likelihood. 9918 // 9919 // Possible values: 9920 // "UNKNOWN" - Unknown likelihood. 9921 // "VERY_UNLIKELY" - It is very unlikely. 9922 // "UNLIKELY" - It is unlikely. 9923 // "POSSIBLE" - It is possible. 9924 // "LIKELY" - It is likely. 9925 // "VERY_LIKELY" - It is very likely. 9926 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 9927 9928 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 9929 // unconditionally include in API requests. By default, fields with 9930 // empty or default values are omitted from API requests. However, any 9931 // non-pointer, non-interface field appearing in ForceSendFields will be 9932 // sent to the server regardless of whether the field is empty or not. 9933 // This may be used to include empty fields in Patch requests. 9934 ForceSendFields []string `json:"-"` 9935 9936 // NullFields is a list of field names (e.g. "AngerLikelihood") to 9937 // include in API requests with the JSON null value. By default, fields 9938 // with empty values are omitted from API requests. However, any field 9939 // with an empty value appearing in NullFields will be sent to the 9940 // server as null. It is an error if a field in this list has a 9941 // non-empty value. This may be used to include null fields in Patch 9942 // requests. 9943 NullFields []string `json:"-"` 9944} 9945 9946func (s *GoogleCloudVisionV1p4beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 9947 type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotation 9948 raw := NoMethod(*s) 9949 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9950} 9951 9952func (s *GoogleCloudVisionV1p4beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 9953 type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotation 9954 var s1 struct { 9955 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 9956 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 9957 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 9958 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 9959 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 9960 *NoMethod 9961 } 9962 s1.NoMethod = (*NoMethod)(s) 9963 if err := json.Unmarshal(data, &s1); err != nil { 9964 return err 9965 } 9966 s.DetectionConfidence = float64(s1.DetectionConfidence) 9967 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 9968 s.PanAngle = float64(s1.PanAngle) 9969 s.RollAngle = float64(s1.RollAngle) 9970 s.TiltAngle = float64(s1.TiltAngle) 9971 return nil 9972} 9973 9974// GoogleCloudVisionV1p4beta1FaceAnnotationLandmark: A face-specific 9975// landmark (for example, a face feature). 9976type GoogleCloudVisionV1p4beta1FaceAnnotationLandmark struct { 9977 // Position: Face landmark position. 9978 Position *GoogleCloudVisionV1p4beta1Position `json:"position,omitempty"` 9979 9980 // Type: Face landmark type. 9981 // 9982 // Possible values: 9983 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 9984 // filled. 9985 // "LEFT_EYE" - Left eye. 9986 // "RIGHT_EYE" - Right eye. 9987 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 9988 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 9989 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 9990 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 9991 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 9992 // "NOSE_TIP" - Nose tip. 9993 // "UPPER_LIP" - Upper lip. 9994 // "LOWER_LIP" - Lower lip. 9995 // "MOUTH_LEFT" - Mouth left. 9996 // "MOUTH_RIGHT" - Mouth right. 9997 // "MOUTH_CENTER" - Mouth center. 9998 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 9999 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 10000 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 10001 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 10002 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 10003 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 10004 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 10005 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 10006 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 10007 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 10008 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 10009 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 10010 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 10011 // "LEFT_EAR_TRAGION" - Left ear tragion. 10012 // "RIGHT_EAR_TRAGION" - Right ear tragion. 10013 // "LEFT_EYE_PUPIL" - Left eye pupil. 10014 // "RIGHT_EYE_PUPIL" - Right eye pupil. 10015 // "FOREHEAD_GLABELLA" - Forehead glabella. 10016 // "CHIN_GNATHION" - Chin gnathion. 10017 // "CHIN_LEFT_GONION" - Chin left gonion. 10018 // "CHIN_RIGHT_GONION" - Chin right gonion. 10019 // "LEFT_CHEEK_CENTER" - Left cheek center. 10020 // "RIGHT_CHEEK_CENTER" - Right cheek center. 10021 Type string `json:"type,omitempty"` 10022 10023 // ForceSendFields is a list of field names (e.g. "Position") to 10024 // unconditionally include in API requests. By default, fields with 10025 // empty or default values are omitted from API requests. However, any 10026 // non-pointer, non-interface field appearing in ForceSendFields will be 10027 // sent to the server regardless of whether the field is empty or not. 10028 // This may be used to include empty fields in Patch requests. 10029 ForceSendFields []string `json:"-"` 10030 10031 // NullFields is a list of field names (e.g. "Position") to include in 10032 // API requests with the JSON null value. By default, fields with empty 10033 // values are omitted from API requests. However, any field with an 10034 // empty value appearing in NullFields will be sent to the server as 10035 // null. It is an error if a field in this list has a non-empty value. 10036 // This may be used to include null fields in Patch requests. 10037 NullFields []string `json:"-"` 10038} 10039 10040func (s *GoogleCloudVisionV1p4beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 10041 type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotationLandmark 10042 raw := NoMethod(*s) 10043 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10044} 10045 10046// GoogleCloudVisionV1p4beta1FaceRecognitionResult: Information about a 10047// face's identity. 10048type GoogleCloudVisionV1p4beta1FaceRecognitionResult struct { 10049 // Celebrity: The Celebrity that this face was matched to. 10050 Celebrity *GoogleCloudVisionV1p4beta1Celebrity `json:"celebrity,omitempty"` 10051 10052 // Confidence: Recognition confidence. Range [0, 1]. 10053 Confidence float64 `json:"confidence,omitempty"` 10054 10055 // ForceSendFields is a list of field names (e.g. "Celebrity") to 10056 // unconditionally include in API requests. By default, fields with 10057 // empty or default values are omitted from API requests. However, any 10058 // non-pointer, non-interface field appearing in ForceSendFields will be 10059 // sent to the server regardless of whether the field is empty or not. 10060 // This may be used to include empty fields in Patch requests. 10061 ForceSendFields []string `json:"-"` 10062 10063 // NullFields is a list of field names (e.g. "Celebrity") to include in 10064 // API requests with the JSON null value. By default, fields with empty 10065 // values are omitted from API requests. However, any field with an 10066 // empty value appearing in NullFields will be sent to the server as 10067 // null. It is an error if a field in this list has a non-empty value. 10068 // This may be used to include null fields in Patch requests. 10069 NullFields []string `json:"-"` 10070} 10071 10072func (s *GoogleCloudVisionV1p4beta1FaceRecognitionResult) MarshalJSON() ([]byte, error) { 10073 type NoMethod GoogleCloudVisionV1p4beta1FaceRecognitionResult 10074 raw := NoMethod(*s) 10075 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10076} 10077 10078func (s *GoogleCloudVisionV1p4beta1FaceRecognitionResult) UnmarshalJSON(data []byte) error { 10079 type NoMethod GoogleCloudVisionV1p4beta1FaceRecognitionResult 10080 var s1 struct { 10081 Confidence gensupport.JSONFloat64 `json:"confidence"` 10082 *NoMethod 10083 } 10084 s1.NoMethod = (*NoMethod)(s) 10085 if err := json.Unmarshal(data, &s1); err != nil { 10086 return err 10087 } 10088 s.Confidence = float64(s1.Confidence) 10089 return nil 10090} 10091 10092// GoogleCloudVisionV1p4beta1GcsDestination: The Google Cloud Storage 10093// location where the output will be written to. 10094type GoogleCloudVisionV1p4beta1GcsDestination struct { 10095 // Uri: Google Cloud Storage URI prefix where the results will be 10096 // stored. Results will be in JSON format and preceded by its 10097 // corresponding input URI prefix. This field can either represent a gcs 10098 // file prefix or gcs directory. In either case, the uri should be 10099 // unique because in order to get all of the output files, you will need 10100 // to do a wildcard gcs search on the uri prefix you provide. Examples: 10101 // * File Prefix: gs://bucket-name/here/filenameprefix The output files 10102 // will be created in gs://bucket-name/here/ and the names of the output 10103 // files will begin with "filenameprefix". * Directory Prefix: 10104 // gs://bucket-name/some/location/ The output files will be created in 10105 // gs://bucket-name/some/location/ and the names of the output files 10106 // could be anything because there was no filename prefix specified. If 10107 // multiple outputs, each response is still AnnotateFileResponse, each 10108 // of which contains some subset of the full list of 10109 // AnnotateImageResponse. Multiple outputs can happen if, for example, 10110 // the output JSON is too large and overflows into multiple sharded 10111 // files. 10112 Uri string `json:"uri,omitempty"` 10113 10114 // ForceSendFields is a list of field names (e.g. "Uri") to 10115 // unconditionally include in API requests. By default, fields with 10116 // empty or default values are omitted from API requests. However, any 10117 // non-pointer, non-interface field appearing in ForceSendFields will be 10118 // sent to the server regardless of whether the field is empty or not. 10119 // This may be used to include empty fields in Patch requests. 10120 ForceSendFields []string `json:"-"` 10121 10122 // NullFields is a list of field names (e.g. "Uri") to include in API 10123 // requests with the JSON null value. By default, fields with empty 10124 // values are omitted from API requests. However, any field with an 10125 // empty value appearing in NullFields will be sent to the server as 10126 // null. It is an error if a field in this list has a non-empty value. 10127 // This may be used to include null fields in Patch requests. 10128 NullFields []string `json:"-"` 10129} 10130 10131func (s *GoogleCloudVisionV1p4beta1GcsDestination) MarshalJSON() ([]byte, error) { 10132 type NoMethod GoogleCloudVisionV1p4beta1GcsDestination 10133 raw := NoMethod(*s) 10134 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10135} 10136 10137// GoogleCloudVisionV1p4beta1GcsSource: The Google Cloud Storage 10138// location where the input will be read from. 10139type GoogleCloudVisionV1p4beta1GcsSource struct { 10140 // Uri: Google Cloud Storage URI for the input file. This must only be a 10141 // Google Cloud Storage object. Wildcards are not currently supported. 10142 Uri string `json:"uri,omitempty"` 10143 10144 // ForceSendFields is a list of field names (e.g. "Uri") to 10145 // unconditionally include in API requests. By default, fields with 10146 // empty or default values are omitted from API requests. However, any 10147 // non-pointer, non-interface field appearing in ForceSendFields will be 10148 // sent to the server regardless of whether the field is empty or not. 10149 // This may be used to include empty fields in Patch requests. 10150 ForceSendFields []string `json:"-"` 10151 10152 // NullFields is a list of field names (e.g. "Uri") to include in API 10153 // requests with the JSON null value. By default, fields with empty 10154 // values are omitted from API requests. However, any field with an 10155 // empty value appearing in NullFields will be sent to the server as 10156 // null. It is an error if a field in this list has a non-empty value. 10157 // This may be used to include null fields in Patch requests. 10158 NullFields []string `json:"-"` 10159} 10160 10161func (s *GoogleCloudVisionV1p4beta1GcsSource) MarshalJSON() ([]byte, error) { 10162 type NoMethod GoogleCloudVisionV1p4beta1GcsSource 10163 raw := NoMethod(*s) 10164 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10165} 10166 10167// GoogleCloudVisionV1p4beta1ImageAnnotationContext: If an image was 10168// produced from a file (e.g. a PDF), this message gives information 10169// about the source of that image. 10170type GoogleCloudVisionV1p4beta1ImageAnnotationContext struct { 10171 // PageNumber: If the file was a PDF or TIFF, this field gives the page 10172 // number within the file used to produce the image. 10173 PageNumber int64 `json:"pageNumber,omitempty"` 10174 10175 // Uri: The URI of the file used to produce the image. 10176 Uri string `json:"uri,omitempty"` 10177 10178 // ForceSendFields is a list of field names (e.g. "PageNumber") to 10179 // unconditionally include in API requests. By default, fields with 10180 // empty or default values are omitted from API requests. However, any 10181 // non-pointer, non-interface field appearing in ForceSendFields will be 10182 // sent to the server regardless of whether the field is empty or not. 10183 // This may be used to include empty fields in Patch requests. 10184 ForceSendFields []string `json:"-"` 10185 10186 // NullFields is a list of field names (e.g. "PageNumber") to include in 10187 // API requests with the JSON null value. By default, fields with empty 10188 // values are omitted from API requests. However, any field with an 10189 // empty value appearing in NullFields will be sent to the server as 10190 // null. It is an error if a field in this list has a non-empty value. 10191 // This may be used to include null fields in Patch requests. 10192 NullFields []string `json:"-"` 10193} 10194 10195func (s *GoogleCloudVisionV1p4beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 10196 type NoMethod GoogleCloudVisionV1p4beta1ImageAnnotationContext 10197 raw := NoMethod(*s) 10198 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10199} 10200 10201// GoogleCloudVisionV1p4beta1ImageProperties: Stores image properties, 10202// such as dominant colors. 10203type GoogleCloudVisionV1p4beta1ImageProperties struct { 10204 // DominantColors: If present, dominant colors completed successfully. 10205 DominantColors *GoogleCloudVisionV1p4beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 10206 10207 // ForceSendFields is a list of field names (e.g. "DominantColors") to 10208 // unconditionally include in API requests. By default, fields with 10209 // empty or default values are omitted from API requests. However, any 10210 // non-pointer, non-interface field appearing in ForceSendFields will be 10211 // sent to the server regardless of whether the field is empty or not. 10212 // This may be used to include empty fields in Patch requests. 10213 ForceSendFields []string `json:"-"` 10214 10215 // NullFields is a list of field names (e.g. "DominantColors") to 10216 // include in API requests with the JSON null value. By default, fields 10217 // with empty values are omitted from API requests. However, any field 10218 // with an empty value appearing in NullFields will be sent to the 10219 // server as null. It is an error if a field in this list has a 10220 // non-empty value. This may be used to include null fields in Patch 10221 // requests. 10222 NullFields []string `json:"-"` 10223} 10224 10225func (s *GoogleCloudVisionV1p4beta1ImageProperties) MarshalJSON() ([]byte, error) { 10226 type NoMethod GoogleCloudVisionV1p4beta1ImageProperties 10227 raw := NoMethod(*s) 10228 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10229} 10230 10231// GoogleCloudVisionV1p4beta1ImportProductSetsResponse: Response message 10232// for the `ImportProductSets` method. This message is returned by the 10233// google.longrunning.Operations.GetOperation method in the returned 10234// google.longrunning.Operation.response field. 10235type GoogleCloudVisionV1p4beta1ImportProductSetsResponse struct { 10236 // ReferenceImages: The list of reference_images that are imported 10237 // successfully. 10238 ReferenceImages []*GoogleCloudVisionV1p4beta1ReferenceImage `json:"referenceImages,omitempty"` 10239 10240 // Statuses: The rpc status for each ImportProductSet request, including 10241 // both successes and errors. The number of statuses here matches the 10242 // number of lines in the csv file, and statuses[i] stores the success 10243 // or failure status of processing the i-th line of the csv, starting 10244 // from line 0. 10245 Statuses []*Status `json:"statuses,omitempty"` 10246 10247 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 10248 // unconditionally include in API requests. By default, fields with 10249 // empty or default values are omitted from API requests. However, any 10250 // non-pointer, non-interface field appearing in ForceSendFields will be 10251 // sent to the server regardless of whether the field is empty or not. 10252 // This may be used to include empty fields in Patch requests. 10253 ForceSendFields []string `json:"-"` 10254 10255 // NullFields is a list of field names (e.g. "ReferenceImages") to 10256 // include in API requests with the JSON null value. By default, fields 10257 // with empty values are omitted from API requests. However, any field 10258 // with an empty value appearing in NullFields will be sent to the 10259 // server as null. It is an error if a field in this list has a 10260 // non-empty value. This may be used to include null fields in Patch 10261 // requests. 10262 NullFields []string `json:"-"` 10263} 10264 10265func (s *GoogleCloudVisionV1p4beta1ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 10266 type NoMethod GoogleCloudVisionV1p4beta1ImportProductSetsResponse 10267 raw := NoMethod(*s) 10268 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10269} 10270 10271// GoogleCloudVisionV1p4beta1InputConfig: The desired input location and 10272// metadata. 10273type GoogleCloudVisionV1p4beta1InputConfig struct { 10274 // Content: File content, represented as a stream of bytes. Note: As 10275 // with all `bytes` fields, protobuffers use a pure binary 10276 // representation, whereas JSON representations use base64. Currently, 10277 // this field only works for BatchAnnotateFiles requests. It does not 10278 // work for AsyncBatchAnnotateFiles requests. 10279 Content string `json:"content,omitempty"` 10280 10281 // GcsSource: The Google Cloud Storage location to read the input from. 10282 GcsSource *GoogleCloudVisionV1p4beta1GcsSource `json:"gcsSource,omitempty"` 10283 10284 // MimeType: The type of the file. Currently only "application/pdf", 10285 // "image/tiff" and "image/gif" are supported. Wildcards are not 10286 // supported. 10287 MimeType string `json:"mimeType,omitempty"` 10288 10289 // ForceSendFields is a list of field names (e.g. "Content") to 10290 // unconditionally include in API requests. By default, fields with 10291 // empty or default values are omitted from API requests. However, any 10292 // non-pointer, non-interface field appearing in ForceSendFields will be 10293 // sent to the server regardless of whether the field is empty or not. 10294 // This may be used to include empty fields in Patch requests. 10295 ForceSendFields []string `json:"-"` 10296 10297 // NullFields is a list of field names (e.g. "Content") to include in 10298 // API requests with the JSON null value. By default, fields with empty 10299 // values are omitted from API requests. However, any field with an 10300 // empty value appearing in NullFields will be sent to the server as 10301 // null. It is an error if a field in this list has a non-empty value. 10302 // This may be used to include null fields in Patch requests. 10303 NullFields []string `json:"-"` 10304} 10305 10306func (s *GoogleCloudVisionV1p4beta1InputConfig) MarshalJSON() ([]byte, error) { 10307 type NoMethod GoogleCloudVisionV1p4beta1InputConfig 10308 raw := NoMethod(*s) 10309 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10310} 10311 10312// GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation: Set of detected 10313// objects with bounding boxes. 10314type GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation struct { 10315 // BoundingPoly: Image region to which this object belongs. This must be 10316 // populated. 10317 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 10318 10319 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 10320 // For more information, see 10321 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 10322 LanguageCode string `json:"languageCode,omitempty"` 10323 10324 // Mid: Object ID that should align with EntityAnnotation mid. 10325 Mid string `json:"mid,omitempty"` 10326 10327 // Name: Object name, expressed in its `language_code` language. 10328 Name string `json:"name,omitempty"` 10329 10330 // Score: Score of the result. Range [0, 1]. 10331 Score float64 `json:"score,omitempty"` 10332 10333 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 10334 // unconditionally include in API requests. By default, fields with 10335 // empty or default values are omitted from API requests. However, any 10336 // non-pointer, non-interface field appearing in ForceSendFields will be 10337 // sent to the server regardless of whether the field is empty or not. 10338 // This may be used to include empty fields in Patch requests. 10339 ForceSendFields []string `json:"-"` 10340 10341 // NullFields is a list of field names (e.g. "BoundingPoly") to include 10342 // in API requests with the JSON null value. By default, fields with 10343 // empty values are omitted from API requests. However, any field with 10344 // an empty value appearing in NullFields will be sent to the server as 10345 // null. It is an error if a field in this list has a non-empty value. 10346 // This may be used to include null fields in Patch requests. 10347 NullFields []string `json:"-"` 10348} 10349 10350func (s *GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 10351 type NoMethod GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation 10352 raw := NoMethod(*s) 10353 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10354} 10355 10356func (s *GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 10357 type NoMethod GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation 10358 var s1 struct { 10359 Score gensupport.JSONFloat64 `json:"score"` 10360 *NoMethod 10361 } 10362 s1.NoMethod = (*NoMethod)(s) 10363 if err := json.Unmarshal(data, &s1); err != nil { 10364 return err 10365 } 10366 s.Score = float64(s1.Score) 10367 return nil 10368} 10369 10370// GoogleCloudVisionV1p4beta1LocationInfo: Detected entity location 10371// information. 10372type GoogleCloudVisionV1p4beta1LocationInfo struct { 10373 // LatLng: lat/long location coordinates. 10374 LatLng *LatLng `json:"latLng,omitempty"` 10375 10376 // ForceSendFields is a list of field names (e.g. "LatLng") to 10377 // unconditionally include in API requests. By default, fields with 10378 // empty or default values are omitted from API requests. However, any 10379 // non-pointer, non-interface field appearing in ForceSendFields will be 10380 // sent to the server regardless of whether the field is empty or not. 10381 // This may be used to include empty fields in Patch requests. 10382 ForceSendFields []string `json:"-"` 10383 10384 // NullFields is a list of field names (e.g. "LatLng") to include in API 10385 // requests with the JSON null value. By default, fields with empty 10386 // values are omitted from API requests. However, any field with an 10387 // empty value appearing in NullFields will be sent to the server as 10388 // null. It is an error if a field in this list has a non-empty value. 10389 // This may be used to include null fields in Patch requests. 10390 NullFields []string `json:"-"` 10391} 10392 10393func (s *GoogleCloudVisionV1p4beta1LocationInfo) MarshalJSON() ([]byte, error) { 10394 type NoMethod GoogleCloudVisionV1p4beta1LocationInfo 10395 raw := NoMethod(*s) 10396 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10397} 10398 10399// GoogleCloudVisionV1p4beta1NormalizedVertex: A vertex represents a 2D 10400// point in the image. NOTE: the normalized vertex coordinates are 10401// relative to the original image and range from 0 to 1. 10402type GoogleCloudVisionV1p4beta1NormalizedVertex struct { 10403 // X: X coordinate. 10404 X float64 `json:"x,omitempty"` 10405 10406 // Y: Y coordinate. 10407 Y float64 `json:"y,omitempty"` 10408 10409 // ForceSendFields is a list of field names (e.g. "X") to 10410 // unconditionally include in API requests. By default, fields with 10411 // empty or default values are omitted from API requests. However, any 10412 // non-pointer, non-interface field appearing in ForceSendFields will be 10413 // sent to the server regardless of whether the field is empty or not. 10414 // This may be used to include empty fields in Patch requests. 10415 ForceSendFields []string `json:"-"` 10416 10417 // NullFields is a list of field names (e.g. "X") to include in API 10418 // requests with the JSON null value. By default, fields with empty 10419 // values are omitted from API requests. However, any field with an 10420 // empty value appearing in NullFields will be sent to the server as 10421 // null. It is an error if a field in this list has a non-empty value. 10422 // This may be used to include null fields in Patch requests. 10423 NullFields []string `json:"-"` 10424} 10425 10426func (s *GoogleCloudVisionV1p4beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 10427 type NoMethod GoogleCloudVisionV1p4beta1NormalizedVertex 10428 raw := NoMethod(*s) 10429 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10430} 10431 10432func (s *GoogleCloudVisionV1p4beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 10433 type NoMethod GoogleCloudVisionV1p4beta1NormalizedVertex 10434 var s1 struct { 10435 X gensupport.JSONFloat64 `json:"x"` 10436 Y gensupport.JSONFloat64 `json:"y"` 10437 *NoMethod 10438 } 10439 s1.NoMethod = (*NoMethod)(s) 10440 if err := json.Unmarshal(data, &s1); err != nil { 10441 return err 10442 } 10443 s.X = float64(s1.X) 10444 s.Y = float64(s1.Y) 10445 return nil 10446} 10447 10448// GoogleCloudVisionV1p4beta1OperationMetadata: Contains metadata for 10449// the BatchAnnotateImages operation. 10450type GoogleCloudVisionV1p4beta1OperationMetadata struct { 10451 // CreateTime: The time when the batch request was received. 10452 CreateTime string `json:"createTime,omitempty"` 10453 10454 // State: Current state of the batch operation. 10455 // 10456 // Possible values: 10457 // "STATE_UNSPECIFIED" - Invalid. 10458 // "CREATED" - Request is received. 10459 // "RUNNING" - Request is actively being processed. 10460 // "DONE" - The batch processing is done. 10461 // "CANCELLED" - The batch processing was cancelled. 10462 State string `json:"state,omitempty"` 10463 10464 // UpdateTime: The time when the operation result was last updated. 10465 UpdateTime string `json:"updateTime,omitempty"` 10466 10467 // ForceSendFields is a list of field names (e.g. "CreateTime") to 10468 // unconditionally include in API requests. By default, fields with 10469 // empty or default values are omitted from API requests. However, any 10470 // non-pointer, non-interface field appearing in ForceSendFields will be 10471 // sent to the server regardless of whether the field is empty or not. 10472 // This may be used to include empty fields in Patch requests. 10473 ForceSendFields []string `json:"-"` 10474 10475 // NullFields is a list of field names (e.g. "CreateTime") to include in 10476 // API requests with the JSON null value. By default, fields with empty 10477 // values are omitted from API requests. However, any field with an 10478 // empty value appearing in NullFields will be sent to the server as 10479 // null. It is an error if a field in this list has a non-empty value. 10480 // This may be used to include null fields in Patch requests. 10481 NullFields []string `json:"-"` 10482} 10483 10484func (s *GoogleCloudVisionV1p4beta1OperationMetadata) MarshalJSON() ([]byte, error) { 10485 type NoMethod GoogleCloudVisionV1p4beta1OperationMetadata 10486 raw := NoMethod(*s) 10487 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10488} 10489 10490// GoogleCloudVisionV1p4beta1OutputConfig: The desired output location 10491// and metadata. 10492type GoogleCloudVisionV1p4beta1OutputConfig struct { 10493 // BatchSize: The max number of response protos to put into each output 10494 // JSON file on Google Cloud Storage. The valid range is [1, 100]. If 10495 // not specified, the default value is 20. For example, for one pdf file 10496 // with 100 pages, 100 response protos will be generated. If 10497 // `batch_size` = 20, then 5 json files each containing 20 response 10498 // protos will be written under the prefix `gcs_destination`.`uri`. 10499 // Currently, batch_size only applies to GcsDestination, with potential 10500 // future support for other output configurations. 10501 BatchSize int64 `json:"batchSize,omitempty"` 10502 10503 // GcsDestination: The Google Cloud Storage location to write the 10504 // output(s) to. 10505 GcsDestination *GoogleCloudVisionV1p4beta1GcsDestination `json:"gcsDestination,omitempty"` 10506 10507 // ForceSendFields is a list of field names (e.g. "BatchSize") to 10508 // unconditionally include in API requests. By default, fields with 10509 // empty or default values are omitted from API requests. However, any 10510 // non-pointer, non-interface field appearing in ForceSendFields will be 10511 // sent to the server regardless of whether the field is empty or not. 10512 // This may be used to include empty fields in Patch requests. 10513 ForceSendFields []string `json:"-"` 10514 10515 // NullFields is a list of field names (e.g. "BatchSize") to include in 10516 // API requests with the JSON null value. By default, fields with empty 10517 // values are omitted from API requests. However, any field with an 10518 // empty value appearing in NullFields will be sent to the server as 10519 // null. It is an error if a field in this list has a non-empty value. 10520 // This may be used to include null fields in Patch requests. 10521 NullFields []string `json:"-"` 10522} 10523 10524func (s *GoogleCloudVisionV1p4beta1OutputConfig) MarshalJSON() ([]byte, error) { 10525 type NoMethod GoogleCloudVisionV1p4beta1OutputConfig 10526 raw := NoMethod(*s) 10527 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10528} 10529 10530// GoogleCloudVisionV1p4beta1Page: Detected page from OCR. 10531type GoogleCloudVisionV1p4beta1Page struct { 10532 // Blocks: List of blocks of text, images etc on this page. 10533 Blocks []*GoogleCloudVisionV1p4beta1Block `json:"blocks,omitempty"` 10534 10535 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 10536 Confidence float64 `json:"confidence,omitempty"` 10537 10538 // Height: Page height. For PDFs the unit is points. For images 10539 // (including TIFFs) the unit is pixels. 10540 Height int64 `json:"height,omitempty"` 10541 10542 // Property: Additional information detected on the page. 10543 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 10544 10545 // Width: Page width. For PDFs the unit is points. For images (including 10546 // TIFFs) the unit is pixels. 10547 Width int64 `json:"width,omitempty"` 10548 10549 // ForceSendFields is a list of field names (e.g. "Blocks") to 10550 // unconditionally include in API requests. By default, fields with 10551 // empty or default values are omitted from API requests. However, any 10552 // non-pointer, non-interface field appearing in ForceSendFields will be 10553 // sent to the server regardless of whether the field is empty or not. 10554 // This may be used to include empty fields in Patch requests. 10555 ForceSendFields []string `json:"-"` 10556 10557 // NullFields is a list of field names (e.g. "Blocks") to include in API 10558 // requests with the JSON null value. By default, fields with empty 10559 // values are omitted from API requests. However, any field with an 10560 // empty value appearing in NullFields will be sent to the server as 10561 // null. It is an error if a field in this list has a non-empty value. 10562 // This may be used to include null fields in Patch requests. 10563 NullFields []string `json:"-"` 10564} 10565 10566func (s *GoogleCloudVisionV1p4beta1Page) MarshalJSON() ([]byte, error) { 10567 type NoMethod GoogleCloudVisionV1p4beta1Page 10568 raw := NoMethod(*s) 10569 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10570} 10571 10572func (s *GoogleCloudVisionV1p4beta1Page) UnmarshalJSON(data []byte) error { 10573 type NoMethod GoogleCloudVisionV1p4beta1Page 10574 var s1 struct { 10575 Confidence gensupport.JSONFloat64 `json:"confidence"` 10576 *NoMethod 10577 } 10578 s1.NoMethod = (*NoMethod)(s) 10579 if err := json.Unmarshal(data, &s1); err != nil { 10580 return err 10581 } 10582 s.Confidence = float64(s1.Confidence) 10583 return nil 10584} 10585 10586// GoogleCloudVisionV1p4beta1Paragraph: Structural unit of text 10587// representing a number of words in certain order. 10588type GoogleCloudVisionV1p4beta1Paragraph struct { 10589 // BoundingBox: The bounding box for the paragraph. The vertices are in 10590 // the order of top-left, top-right, bottom-right, bottom-left. When a 10591 // rotation of the bounding box is detected the rotation is represented 10592 // as around the top-left corner as defined when the text is read in the 10593 // 'natural' orientation. For example: * when the text is horizontal it 10594 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 10595 // around the top-left corner it becomes: 2----3 | | 1----0 and the 10596 // vertex order will still be (0, 1, 2, 3). 10597 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 10598 10599 // Confidence: Confidence of the OCR results for the paragraph. Range 10600 // [0, 1]. 10601 Confidence float64 `json:"confidence,omitempty"` 10602 10603 // Property: Additional information detected for the paragraph. 10604 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 10605 10606 // Words: List of all words in this paragraph. 10607 Words []*GoogleCloudVisionV1p4beta1Word `json:"words,omitempty"` 10608 10609 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 10610 // unconditionally include in API requests. By default, fields with 10611 // empty or default values are omitted from API requests. However, any 10612 // non-pointer, non-interface field appearing in ForceSendFields will be 10613 // sent to the server regardless of whether the field is empty or not. 10614 // This may be used to include empty fields in Patch requests. 10615 ForceSendFields []string `json:"-"` 10616 10617 // NullFields is a list of field names (e.g. "BoundingBox") to include 10618 // in API requests with the JSON null value. By default, fields with 10619 // empty values are omitted from API requests. However, any field with 10620 // an empty value appearing in NullFields will be sent to the server as 10621 // null. It is an error if a field in this list has a non-empty value. 10622 // This may be used to include null fields in Patch requests. 10623 NullFields []string `json:"-"` 10624} 10625 10626func (s *GoogleCloudVisionV1p4beta1Paragraph) MarshalJSON() ([]byte, error) { 10627 type NoMethod GoogleCloudVisionV1p4beta1Paragraph 10628 raw := NoMethod(*s) 10629 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10630} 10631 10632func (s *GoogleCloudVisionV1p4beta1Paragraph) UnmarshalJSON(data []byte) error { 10633 type NoMethod GoogleCloudVisionV1p4beta1Paragraph 10634 var s1 struct { 10635 Confidence gensupport.JSONFloat64 `json:"confidence"` 10636 *NoMethod 10637 } 10638 s1.NoMethod = (*NoMethod)(s) 10639 if err := json.Unmarshal(data, &s1); err != nil { 10640 return err 10641 } 10642 s.Confidence = float64(s1.Confidence) 10643 return nil 10644} 10645 10646// GoogleCloudVisionV1p4beta1Position: A 3D position in the image, used 10647// primarily for Face detection landmarks. A valid Position must have 10648// both x and y coordinates. The position coordinates are in the same 10649// scale as the original image. 10650type GoogleCloudVisionV1p4beta1Position struct { 10651 // X: X coordinate. 10652 X float64 `json:"x,omitempty"` 10653 10654 // Y: Y coordinate. 10655 Y float64 `json:"y,omitempty"` 10656 10657 // Z: Z coordinate (or depth). 10658 Z float64 `json:"z,omitempty"` 10659 10660 // ForceSendFields is a list of field names (e.g. "X") to 10661 // unconditionally include in API requests. By default, fields with 10662 // empty or default values are omitted from API requests. However, any 10663 // non-pointer, non-interface field appearing in ForceSendFields will be 10664 // sent to the server regardless of whether the field is empty or not. 10665 // This may be used to include empty fields in Patch requests. 10666 ForceSendFields []string `json:"-"` 10667 10668 // NullFields is a list of field names (e.g. "X") to include in API 10669 // requests with the JSON null value. By default, fields with empty 10670 // values are omitted from API requests. However, any field with an 10671 // empty value appearing in NullFields will be sent to the server as 10672 // null. It is an error if a field in this list has a non-empty value. 10673 // This may be used to include null fields in Patch requests. 10674 NullFields []string `json:"-"` 10675} 10676 10677func (s *GoogleCloudVisionV1p4beta1Position) MarshalJSON() ([]byte, error) { 10678 type NoMethod GoogleCloudVisionV1p4beta1Position 10679 raw := NoMethod(*s) 10680 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10681} 10682 10683func (s *GoogleCloudVisionV1p4beta1Position) UnmarshalJSON(data []byte) error { 10684 type NoMethod GoogleCloudVisionV1p4beta1Position 10685 var s1 struct { 10686 X gensupport.JSONFloat64 `json:"x"` 10687 Y gensupport.JSONFloat64 `json:"y"` 10688 Z gensupport.JSONFloat64 `json:"z"` 10689 *NoMethod 10690 } 10691 s1.NoMethod = (*NoMethod)(s) 10692 if err := json.Unmarshal(data, &s1); err != nil { 10693 return err 10694 } 10695 s.X = float64(s1.X) 10696 s.Y = float64(s1.Y) 10697 s.Z = float64(s1.Z) 10698 return nil 10699} 10700 10701// GoogleCloudVisionV1p4beta1Product: A Product contains 10702// ReferenceImages. 10703type GoogleCloudVisionV1p4beta1Product struct { 10704 // Description: User-provided metadata to be stored with this product. 10705 // Must be at most 4096 characters long. 10706 Description string `json:"description,omitempty"` 10707 10708 // DisplayName: The user-provided name for this Product. Must not be 10709 // empty. Must be at most 4096 characters long. 10710 DisplayName string `json:"displayName,omitempty"` 10711 10712 // Name: The resource name of the product. Format is: 10713 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This 10714 // field is ignored when creating a product. 10715 Name string `json:"name,omitempty"` 10716 10717 // ProductCategory: Immutable. The category for the product identified 10718 // by the reference image. This should be one of "homegoods-v2", 10719 // "apparel-v2", "toys-v2", "packagedgoods-v1" or "general-v1". The 10720 // legacy categories "homegoods", "apparel", and "toys" are still 10721 // supported, but these should not be used for new products. 10722 ProductCategory string `json:"productCategory,omitempty"` 10723 10724 // ProductLabels: Key-value pairs that can be attached to a product. At 10725 // query time, constraints can be specified based on the product_labels. 10726 // Note that integer values can be provided as strings, e.g. "1199". 10727 // Only strings with integer values can match a range-based restriction 10728 // which is to be supported soon. Multiple values can be assigned to the 10729 // same key. One product may have up to 500 product_labels. Notice that 10730 // the total number of distinct product_labels over all products in one 10731 // ProductSet cannot exceed 1M, otherwise the product search pipeline 10732 // will refuse to work for that ProductSet. 10733 ProductLabels []*GoogleCloudVisionV1p4beta1ProductKeyValue `json:"productLabels,omitempty"` 10734 10735 // ForceSendFields is a list of field names (e.g. "Description") to 10736 // unconditionally include in API requests. By default, fields with 10737 // empty or default values are omitted from API requests. However, any 10738 // non-pointer, non-interface field appearing in ForceSendFields will be 10739 // sent to the server regardless of whether the field is empty or not. 10740 // This may be used to include empty fields in Patch requests. 10741 ForceSendFields []string `json:"-"` 10742 10743 // NullFields is a list of field names (e.g. "Description") to include 10744 // in API requests with the JSON null value. By default, fields with 10745 // empty values are omitted from API requests. However, any field with 10746 // an empty value appearing in NullFields will be sent to the server as 10747 // null. It is an error if a field in this list has a non-empty value. 10748 // This may be used to include null fields in Patch requests. 10749 NullFields []string `json:"-"` 10750} 10751 10752func (s *GoogleCloudVisionV1p4beta1Product) MarshalJSON() ([]byte, error) { 10753 type NoMethod GoogleCloudVisionV1p4beta1Product 10754 raw := NoMethod(*s) 10755 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10756} 10757 10758// GoogleCloudVisionV1p4beta1ProductKeyValue: A product label 10759// represented as a key-value pair. 10760type GoogleCloudVisionV1p4beta1ProductKeyValue struct { 10761 // Key: The key of the label attached to the product. Cannot be empty 10762 // and cannot exceed 128 bytes. 10763 Key string `json:"key,omitempty"` 10764 10765 // Value: The value of the label attached to the product. Cannot be 10766 // empty and cannot exceed 128 bytes. 10767 Value string `json:"value,omitempty"` 10768 10769 // ForceSendFields is a list of field names (e.g. "Key") to 10770 // unconditionally include in API requests. By default, fields with 10771 // empty or default values are omitted from API requests. However, any 10772 // non-pointer, non-interface field appearing in ForceSendFields will be 10773 // sent to the server regardless of whether the field is empty or not. 10774 // This may be used to include empty fields in Patch requests. 10775 ForceSendFields []string `json:"-"` 10776 10777 // NullFields is a list of field names (e.g. "Key") to include in API 10778 // requests with the JSON null value. By default, fields with empty 10779 // values are omitted from API requests. However, any field with an 10780 // empty value appearing in NullFields will be sent to the server as 10781 // null. It is an error if a field in this list has a non-empty value. 10782 // This may be used to include null fields in Patch requests. 10783 NullFields []string `json:"-"` 10784} 10785 10786func (s *GoogleCloudVisionV1p4beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 10787 type NoMethod GoogleCloudVisionV1p4beta1ProductKeyValue 10788 raw := NoMethod(*s) 10789 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10790} 10791 10792// GoogleCloudVisionV1p4beta1ProductSearchResults: Results for a product 10793// search request. 10794type GoogleCloudVisionV1p4beta1ProductSearchResults struct { 10795 // IndexTime: Timestamp of the index which provided these results. 10796 // Products added to the product set and products removed from the 10797 // product set after this time are not reflected in the current results. 10798 IndexTime string `json:"indexTime,omitempty"` 10799 10800 // ProductGroupedResults: List of results grouped by products detected 10801 // in the query image. Each entry corresponds to one bounding polygon in 10802 // the query image, and contains the matching products specific to that 10803 // region. There may be duplicate product matches in the union of all 10804 // the per-product results. 10805 ProductGroupedResults []*GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 10806 10807 // Results: List of results, one for each product match. 10808 Results []*GoogleCloudVisionV1p4beta1ProductSearchResultsResult `json:"results,omitempty"` 10809 10810 // ForceSendFields is a list of field names (e.g. "IndexTime") to 10811 // unconditionally include in API requests. By default, fields with 10812 // empty or default values are omitted from API requests. However, any 10813 // non-pointer, non-interface field appearing in ForceSendFields will be 10814 // sent to the server regardless of whether the field is empty or not. 10815 // This may be used to include empty fields in Patch requests. 10816 ForceSendFields []string `json:"-"` 10817 10818 // NullFields is a list of field names (e.g. "IndexTime") to include in 10819 // API requests with the JSON null value. By default, fields with empty 10820 // values are omitted from API requests. However, any field with an 10821 // empty value appearing in NullFields will be sent to the server as 10822 // null. It is an error if a field in this list has a non-empty value. 10823 // This may be used to include null fields in Patch requests. 10824 NullFields []string `json:"-"` 10825} 10826 10827func (s *GoogleCloudVisionV1p4beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 10828 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResults 10829 raw := NoMethod(*s) 10830 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10831} 10832 10833// GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult: 10834// Information about the products similar to a single product in a query 10835// image. 10836type GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult struct { 10837 // BoundingPoly: The bounding polygon around the product detected in the 10838 // query image. 10839 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 10840 10841 // ObjectAnnotations: List of generic predictions for the object in the 10842 // bounding box. 10843 ObjectAnnotations []*GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 10844 10845 // Results: List of results, one for each product match. 10846 Results []*GoogleCloudVisionV1p4beta1ProductSearchResultsResult `json:"results,omitempty"` 10847 10848 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 10849 // unconditionally include in API requests. By default, fields with 10850 // empty or default values are omitted from API requests. However, any 10851 // non-pointer, non-interface field appearing in ForceSendFields will be 10852 // sent to the server regardless of whether the field is empty or not. 10853 // This may be used to include empty fields in Patch requests. 10854 ForceSendFields []string `json:"-"` 10855 10856 // NullFields is a list of field names (e.g. "BoundingPoly") to include 10857 // in API requests with the JSON null value. By default, fields with 10858 // empty values are omitted from API requests. However, any field with 10859 // an empty value appearing in NullFields will be sent to the server as 10860 // null. It is an error if a field in this list has a non-empty value. 10861 // This may be used to include null fields in Patch requests. 10862 NullFields []string `json:"-"` 10863} 10864 10865func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 10866 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult 10867 raw := NoMethod(*s) 10868 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10869} 10870 10871// GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation: 10872// Prediction for what the object in the bounding box is. 10873type GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation struct { 10874 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 10875 // For more information, see 10876 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 10877 LanguageCode string `json:"languageCode,omitempty"` 10878 10879 // Mid: Object ID that should align with EntityAnnotation mid. 10880 Mid string `json:"mid,omitempty"` 10881 10882 // Name: Object name, expressed in its `language_code` language. 10883 Name string `json:"name,omitempty"` 10884 10885 // Score: Score of the result. Range [0, 1]. 10886 Score float64 `json:"score,omitempty"` 10887 10888 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 10889 // unconditionally include in API requests. By default, fields with 10890 // empty or default values are omitted from API requests. However, any 10891 // non-pointer, non-interface field appearing in ForceSendFields will be 10892 // sent to the server regardless of whether the field is empty or not. 10893 // This may be used to include empty fields in Patch requests. 10894 ForceSendFields []string `json:"-"` 10895 10896 // NullFields is a list of field names (e.g. "LanguageCode") to include 10897 // in API requests with the JSON null value. By default, fields with 10898 // empty values are omitted from API requests. However, any field with 10899 // an empty value appearing in NullFields will be sent to the server as 10900 // null. It is an error if a field in this list has a non-empty value. 10901 // This may be used to include null fields in Patch requests. 10902 NullFields []string `json:"-"` 10903} 10904 10905func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 10906 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation 10907 raw := NoMethod(*s) 10908 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10909} 10910 10911func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 10912 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation 10913 var s1 struct { 10914 Score gensupport.JSONFloat64 `json:"score"` 10915 *NoMethod 10916 } 10917 s1.NoMethod = (*NoMethod)(s) 10918 if err := json.Unmarshal(data, &s1); err != nil { 10919 return err 10920 } 10921 s.Score = float64(s1.Score) 10922 return nil 10923} 10924 10925// GoogleCloudVisionV1p4beta1ProductSearchResultsResult: Information 10926// about a product. 10927type GoogleCloudVisionV1p4beta1ProductSearchResultsResult struct { 10928 // Image: The resource name of the image from the product that is the 10929 // closest match to the query. 10930 Image string `json:"image,omitempty"` 10931 10932 // Product: The Product. 10933 Product *GoogleCloudVisionV1p4beta1Product `json:"product,omitempty"` 10934 10935 // Score: A confidence level on the match, ranging from 0 (no 10936 // confidence) to 1 (full confidence). 10937 Score float64 `json:"score,omitempty"` 10938 10939 // ForceSendFields is a list of field names (e.g. "Image") to 10940 // unconditionally include in API requests. By default, fields with 10941 // empty or default values are omitted from API requests. However, any 10942 // non-pointer, non-interface field appearing in ForceSendFields will be 10943 // sent to the server regardless of whether the field is empty or not. 10944 // This may be used to include empty fields in Patch requests. 10945 ForceSendFields []string `json:"-"` 10946 10947 // NullFields is a list of field names (e.g. "Image") to include in API 10948 // requests with the JSON null value. By default, fields with empty 10949 // values are omitted from API requests. However, any field with an 10950 // empty value appearing in NullFields will be sent to the server as 10951 // null. It is an error if a field in this list has a non-empty value. 10952 // This may be used to include null fields in Patch requests. 10953 NullFields []string `json:"-"` 10954} 10955 10956func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 10957 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsResult 10958 raw := NoMethod(*s) 10959 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10960} 10961 10962func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 10963 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsResult 10964 var s1 struct { 10965 Score gensupport.JSONFloat64 `json:"score"` 10966 *NoMethod 10967 } 10968 s1.NoMethod = (*NoMethod)(s) 10969 if err := json.Unmarshal(data, &s1); err != nil { 10970 return err 10971 } 10972 s.Score = float64(s1.Score) 10973 return nil 10974} 10975 10976// GoogleCloudVisionV1p4beta1Property: A `Property` consists of a 10977// user-supplied name/value pair. 10978type GoogleCloudVisionV1p4beta1Property struct { 10979 // Name: Name of the property. 10980 Name string `json:"name,omitempty"` 10981 10982 // Uint64Value: Value of numeric properties. 10983 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 10984 10985 // Value: Value of the property. 10986 Value string `json:"value,omitempty"` 10987 10988 // ForceSendFields is a list of field names (e.g. "Name") to 10989 // unconditionally include in API requests. By default, fields with 10990 // empty or default values are omitted from API requests. However, any 10991 // non-pointer, non-interface field appearing in ForceSendFields will be 10992 // sent to the server regardless of whether the field is empty or not. 10993 // This may be used to include empty fields in Patch requests. 10994 ForceSendFields []string `json:"-"` 10995 10996 // NullFields is a list of field names (e.g. "Name") to include in API 10997 // requests with the JSON null value. By default, fields with empty 10998 // values are omitted from API requests. However, any field with an 10999 // empty value appearing in NullFields will be sent to the server as 11000 // null. It is an error if a field in this list has a non-empty value. 11001 // This may be used to include null fields in Patch requests. 11002 NullFields []string `json:"-"` 11003} 11004 11005func (s *GoogleCloudVisionV1p4beta1Property) MarshalJSON() ([]byte, error) { 11006 type NoMethod GoogleCloudVisionV1p4beta1Property 11007 raw := NoMethod(*s) 11008 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11009} 11010 11011// GoogleCloudVisionV1p4beta1ReferenceImage: A `ReferenceImage` 11012// represents a product image and its associated metadata, such as 11013// bounding boxes. 11014type GoogleCloudVisionV1p4beta1ReferenceImage struct { 11015 // BoundingPolys: Optional. Bounding polygons around the areas of 11016 // interest in the reference image. If this field is empty, the system 11017 // will try to detect regions of interest. At most 10 bounding polygons 11018 // will be used. The provided shape is converted into a non-rotated 11019 // rectangle. Once converted, the small edge of the rectangle must be 11020 // greater than or equal to 300 pixels. The aspect ratio must be 1:4 or 11021 // less (i.e. 1:3 is ok; 1:5 is not). 11022 BoundingPolys []*GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPolys,omitempty"` 11023 11024 // Name: The resource name of the reference image. Format is: 11025 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceIma 11026 // ges/IMAGE_ID`. This field is ignored when creating a reference image. 11027 Name string `json:"name,omitempty"` 11028 11029 // Uri: Required. The Google Cloud Storage URI of the reference image. 11030 // The URI must start with `gs://`. 11031 Uri string `json:"uri,omitempty"` 11032 11033 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 11034 // unconditionally include in API requests. By default, fields with 11035 // empty or default values are omitted from API requests. However, any 11036 // non-pointer, non-interface field appearing in ForceSendFields will be 11037 // sent to the server regardless of whether the field is empty or not. 11038 // This may be used to include empty fields in Patch requests. 11039 ForceSendFields []string `json:"-"` 11040 11041 // NullFields is a list of field names (e.g. "BoundingPolys") to include 11042 // in API requests with the JSON null value. By default, fields with 11043 // empty values are omitted from API requests. However, any field with 11044 // an empty value appearing in NullFields will be sent to the server as 11045 // null. It is an error if a field in this list has a non-empty value. 11046 // This may be used to include null fields in Patch requests. 11047 NullFields []string `json:"-"` 11048} 11049 11050func (s *GoogleCloudVisionV1p4beta1ReferenceImage) MarshalJSON() ([]byte, error) { 11051 type NoMethod GoogleCloudVisionV1p4beta1ReferenceImage 11052 raw := NoMethod(*s) 11053 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11054} 11055 11056// GoogleCloudVisionV1p4beta1SafeSearchAnnotation: Set of features 11057// pertaining to the image, computed by computer vision methods over 11058// safe-search verticals (for example, adult, spoof, medical, violence). 11059type GoogleCloudVisionV1p4beta1SafeSearchAnnotation struct { 11060 // Adult: Represents the adult content likelihood for the image. Adult 11061 // content may contain elements such as nudity, pornographic images or 11062 // cartoons, or sexual activities. 11063 // 11064 // Possible values: 11065 // "UNKNOWN" - Unknown likelihood. 11066 // "VERY_UNLIKELY" - It is very unlikely. 11067 // "UNLIKELY" - It is unlikely. 11068 // "POSSIBLE" - It is possible. 11069 // "LIKELY" - It is likely. 11070 // "VERY_LIKELY" - It is very likely. 11071 Adult string `json:"adult,omitempty"` 11072 11073 // Medical: Likelihood that this is a medical image. 11074 // 11075 // Possible values: 11076 // "UNKNOWN" - Unknown likelihood. 11077 // "VERY_UNLIKELY" - It is very unlikely. 11078 // "UNLIKELY" - It is unlikely. 11079 // "POSSIBLE" - It is possible. 11080 // "LIKELY" - It is likely. 11081 // "VERY_LIKELY" - It is very likely. 11082 Medical string `json:"medical,omitempty"` 11083 11084 // Racy: Likelihood that the request image contains racy content. Racy 11085 // content may include (but is not limited to) skimpy or sheer clothing, 11086 // strategically covered nudity, lewd or provocative poses, or close-ups 11087 // of sensitive body areas. 11088 // 11089 // Possible values: 11090 // "UNKNOWN" - Unknown likelihood. 11091 // "VERY_UNLIKELY" - It is very unlikely. 11092 // "UNLIKELY" - It is unlikely. 11093 // "POSSIBLE" - It is possible. 11094 // "LIKELY" - It is likely. 11095 // "VERY_LIKELY" - It is very likely. 11096 Racy string `json:"racy,omitempty"` 11097 11098 // Spoof: Spoof likelihood. The likelihood that an modification was made 11099 // to the image's canonical version to make it appear funny or 11100 // offensive. 11101 // 11102 // Possible values: 11103 // "UNKNOWN" - Unknown likelihood. 11104 // "VERY_UNLIKELY" - It is very unlikely. 11105 // "UNLIKELY" - It is unlikely. 11106 // "POSSIBLE" - It is possible. 11107 // "LIKELY" - It is likely. 11108 // "VERY_LIKELY" - It is very likely. 11109 Spoof string `json:"spoof,omitempty"` 11110 11111 // Violence: Likelihood that this image contains violent content. 11112 // 11113 // Possible values: 11114 // "UNKNOWN" - Unknown likelihood. 11115 // "VERY_UNLIKELY" - It is very unlikely. 11116 // "UNLIKELY" - It is unlikely. 11117 // "POSSIBLE" - It is possible. 11118 // "LIKELY" - It is likely. 11119 // "VERY_LIKELY" - It is very likely. 11120 Violence string `json:"violence,omitempty"` 11121 11122 // ForceSendFields is a list of field names (e.g. "Adult") to 11123 // unconditionally include in API requests. By default, fields with 11124 // empty or default values are omitted from API requests. However, any 11125 // non-pointer, non-interface field appearing in ForceSendFields will be 11126 // sent to the server regardless of whether the field is empty or not. 11127 // This may be used to include empty fields in Patch requests. 11128 ForceSendFields []string `json:"-"` 11129 11130 // NullFields is a list of field names (e.g. "Adult") to include in API 11131 // requests with the JSON null value. By default, fields with empty 11132 // values are omitted from API requests. However, any field with an 11133 // empty value appearing in NullFields will be sent to the server as 11134 // null. It is an error if a field in this list has a non-empty value. 11135 // This may be used to include null fields in Patch requests. 11136 NullFields []string `json:"-"` 11137} 11138 11139func (s *GoogleCloudVisionV1p4beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 11140 type NoMethod GoogleCloudVisionV1p4beta1SafeSearchAnnotation 11141 raw := NoMethod(*s) 11142 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11143} 11144 11145// GoogleCloudVisionV1p4beta1Symbol: A single symbol representation. 11146type GoogleCloudVisionV1p4beta1Symbol struct { 11147 // BoundingBox: The bounding box for the symbol. The vertices are in the 11148 // order of top-left, top-right, bottom-right, bottom-left. When a 11149 // rotation of the bounding box is detected the rotation is represented 11150 // as around the top-left corner as defined when the text is read in the 11151 // 'natural' orientation. For example: * when the text is horizontal it 11152 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 11153 // around the top-left corner it becomes: 2----3 | | 1----0 and the 11154 // vertex order will still be (0, 1, 2, 3). 11155 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 11156 11157 // Confidence: Confidence of the OCR results for the symbol. Range [0, 11158 // 1]. 11159 Confidence float64 `json:"confidence,omitempty"` 11160 11161 // Property: Additional information detected for the symbol. 11162 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 11163 11164 // Text: The actual UTF-8 representation of the symbol. 11165 Text string `json:"text,omitempty"` 11166 11167 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 11168 // unconditionally include in API requests. By default, fields with 11169 // empty or default values are omitted from API requests. However, any 11170 // non-pointer, non-interface field appearing in ForceSendFields will be 11171 // sent to the server regardless of whether the field is empty or not. 11172 // This may be used to include empty fields in Patch requests. 11173 ForceSendFields []string `json:"-"` 11174 11175 // NullFields is a list of field names (e.g. "BoundingBox") to include 11176 // in API requests with the JSON null value. By default, fields with 11177 // empty values are omitted from API requests. However, any field with 11178 // an empty value appearing in NullFields will be sent to the server as 11179 // null. It is an error if a field in this list has a non-empty value. 11180 // This may be used to include null fields in Patch requests. 11181 NullFields []string `json:"-"` 11182} 11183 11184func (s *GoogleCloudVisionV1p4beta1Symbol) MarshalJSON() ([]byte, error) { 11185 type NoMethod GoogleCloudVisionV1p4beta1Symbol 11186 raw := NoMethod(*s) 11187 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11188} 11189 11190func (s *GoogleCloudVisionV1p4beta1Symbol) UnmarshalJSON(data []byte) error { 11191 type NoMethod GoogleCloudVisionV1p4beta1Symbol 11192 var s1 struct { 11193 Confidence gensupport.JSONFloat64 `json:"confidence"` 11194 *NoMethod 11195 } 11196 s1.NoMethod = (*NoMethod)(s) 11197 if err := json.Unmarshal(data, &s1); err != nil { 11198 return err 11199 } 11200 s.Confidence = float64(s1.Confidence) 11201 return nil 11202} 11203 11204// GoogleCloudVisionV1p4beta1TextAnnotation: TextAnnotation contains a 11205// structured representation of OCR extracted text. The hierarchy of an 11206// OCR extracted text structure is like this: TextAnnotation -> Page -> 11207// Block -> Paragraph -> Word -> Symbol Each structural component, 11208// starting from Page, may further have their own properties. Properties 11209// describe detected languages, breaks etc.. Please refer to the 11210// TextAnnotation.TextProperty message definition below for more detail. 11211type GoogleCloudVisionV1p4beta1TextAnnotation struct { 11212 // Pages: List of pages detected by OCR. 11213 Pages []*GoogleCloudVisionV1p4beta1Page `json:"pages,omitempty"` 11214 11215 // Text: UTF-8 text detected on the pages. 11216 Text string `json:"text,omitempty"` 11217 11218 // ForceSendFields is a list of field names (e.g. "Pages") to 11219 // unconditionally include in API requests. By default, fields with 11220 // empty or default values are omitted from API requests. However, any 11221 // non-pointer, non-interface field appearing in ForceSendFields will be 11222 // sent to the server regardless of whether the field is empty or not. 11223 // This may be used to include empty fields in Patch requests. 11224 ForceSendFields []string `json:"-"` 11225 11226 // NullFields is a list of field names (e.g. "Pages") to include in API 11227 // requests with the JSON null value. By default, fields with empty 11228 // values are omitted from API requests. However, any field with an 11229 // empty value appearing in NullFields will be sent to the server as 11230 // null. It is an error if a field in this list has a non-empty value. 11231 // This may be used to include null fields in Patch requests. 11232 NullFields []string `json:"-"` 11233} 11234 11235func (s *GoogleCloudVisionV1p4beta1TextAnnotation) MarshalJSON() ([]byte, error) { 11236 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotation 11237 raw := NoMethod(*s) 11238 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11239} 11240 11241// GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak: Detected start 11242// or end of a structural component. 11243type GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak struct { 11244 // IsPrefix: True if break prepends the element. 11245 IsPrefix bool `json:"isPrefix,omitempty"` 11246 11247 // Type: Detected break type. 11248 // 11249 // Possible values: 11250 // "UNKNOWN" - Unknown break label type. 11251 // "SPACE" - Regular space. 11252 // "SURE_SPACE" - Sure space (very wide). 11253 // "EOL_SURE_SPACE" - Line-wrapping break. 11254 // "HYPHEN" - End-line hyphen that is not present in text; does not 11255 // co-occur with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 11256 // "LINE_BREAK" - Line break that ends a paragraph. 11257 Type string `json:"type,omitempty"` 11258 11259 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 11260 // unconditionally include in API requests. By default, fields with 11261 // empty or default values are omitted from API requests. However, any 11262 // non-pointer, non-interface field appearing in ForceSendFields will be 11263 // sent to the server regardless of whether the field is empty or not. 11264 // This may be used to include empty fields in Patch requests. 11265 ForceSendFields []string `json:"-"` 11266 11267 // NullFields is a list of field names (e.g. "IsPrefix") to include in 11268 // API requests with the JSON null value. By default, fields with empty 11269 // values are omitted from API requests. However, any field with an 11270 // empty value appearing in NullFields will be sent to the server as 11271 // null. It is an error if a field in this list has a non-empty value. 11272 // This may be used to include null fields in Patch requests. 11273 NullFields []string `json:"-"` 11274} 11275 11276func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 11277 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak 11278 raw := NoMethod(*s) 11279 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11280} 11281 11282// GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage: Detected 11283// language for a structural component. 11284type GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage struct { 11285 // Confidence: Confidence of detected language. Range [0, 1]. 11286 Confidence float64 `json:"confidence,omitempty"` 11287 11288 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 11289 // For more information, see 11290 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 11291 LanguageCode string `json:"languageCode,omitempty"` 11292 11293 // ForceSendFields is a list of field names (e.g. "Confidence") to 11294 // unconditionally include in API requests. By default, fields with 11295 // empty or default values are omitted from API requests. However, any 11296 // non-pointer, non-interface field appearing in ForceSendFields will be 11297 // sent to the server regardless of whether the field is empty or not. 11298 // This may be used to include empty fields in Patch requests. 11299 ForceSendFields []string `json:"-"` 11300 11301 // NullFields is a list of field names (e.g. "Confidence") to include in 11302 // API requests with the JSON null value. By default, fields with empty 11303 // values are omitted from API requests. However, any field with an 11304 // empty value appearing in NullFields will be sent to the server as 11305 // null. It is an error if a field in this list has a non-empty value. 11306 // This may be used to include null fields in Patch requests. 11307 NullFields []string `json:"-"` 11308} 11309 11310func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 11311 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage 11312 raw := NoMethod(*s) 11313 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11314} 11315 11316func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 11317 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage 11318 var s1 struct { 11319 Confidence gensupport.JSONFloat64 `json:"confidence"` 11320 *NoMethod 11321 } 11322 s1.NoMethod = (*NoMethod)(s) 11323 if err := json.Unmarshal(data, &s1); err != nil { 11324 return err 11325 } 11326 s.Confidence = float64(s1.Confidence) 11327 return nil 11328} 11329 11330// GoogleCloudVisionV1p4beta1TextAnnotationTextProperty: Additional 11331// information detected on the structural component. 11332type GoogleCloudVisionV1p4beta1TextAnnotationTextProperty struct { 11333 // DetectedBreak: Detected start or end of a text segment. 11334 DetectedBreak *GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 11335 11336 // DetectedLanguages: A list of detected languages together with 11337 // confidence. 11338 DetectedLanguages []*GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 11339 11340 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 11341 // unconditionally include in API requests. By default, fields with 11342 // empty or default values are omitted from API requests. However, any 11343 // non-pointer, non-interface field appearing in ForceSendFields will be 11344 // sent to the server regardless of whether the field is empty or not. 11345 // This may be used to include empty fields in Patch requests. 11346 ForceSendFields []string `json:"-"` 11347 11348 // NullFields is a list of field names (e.g. "DetectedBreak") to include 11349 // in API requests with the JSON null value. By default, fields with 11350 // empty values are omitted from API requests. However, any field with 11351 // an empty value appearing in NullFields will be sent to the server as 11352 // null. It is an error if a field in this list has a non-empty value. 11353 // This may be used to include null fields in Patch requests. 11354 NullFields []string `json:"-"` 11355} 11356 11357func (s *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 11358 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationTextProperty 11359 raw := NoMethod(*s) 11360 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11361} 11362 11363// GoogleCloudVisionV1p4beta1Vertex: A vertex represents a 2D point in 11364// the image. NOTE: the vertex coordinates are in the same scale as the 11365// original image. 11366type GoogleCloudVisionV1p4beta1Vertex struct { 11367 // X: X coordinate. 11368 X int64 `json:"x,omitempty"` 11369 11370 // Y: Y coordinate. 11371 Y int64 `json:"y,omitempty"` 11372 11373 // ForceSendFields is a list of field names (e.g. "X") to 11374 // unconditionally include in API requests. By default, fields with 11375 // empty or default values are omitted from API requests. However, any 11376 // non-pointer, non-interface field appearing in ForceSendFields will be 11377 // sent to the server regardless of whether the field is empty or not. 11378 // This may be used to include empty fields in Patch requests. 11379 ForceSendFields []string `json:"-"` 11380 11381 // NullFields is a list of field names (e.g. "X") to include in API 11382 // requests with the JSON null value. By default, fields with empty 11383 // values are omitted from API requests. However, any field with an 11384 // empty value appearing in NullFields will be sent to the server as 11385 // null. It is an error if a field in this list has a non-empty value. 11386 // This may be used to include null fields in Patch requests. 11387 NullFields []string `json:"-"` 11388} 11389 11390func (s *GoogleCloudVisionV1p4beta1Vertex) MarshalJSON() ([]byte, error) { 11391 type NoMethod GoogleCloudVisionV1p4beta1Vertex 11392 raw := NoMethod(*s) 11393 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11394} 11395 11396// GoogleCloudVisionV1p4beta1WebDetection: Relevant information for the 11397// image from the Internet. 11398type GoogleCloudVisionV1p4beta1WebDetection struct { 11399 // BestGuessLabels: The service's best guess as to the topic of the 11400 // request image. Inferred from similar images on the open web. 11401 BestGuessLabels []*GoogleCloudVisionV1p4beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 11402 11403 // FullMatchingImages: Fully matching images from the Internet. Can 11404 // include resized copies of the query image. 11405 FullMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 11406 11407 // PagesWithMatchingImages: Web pages containing the matching images 11408 // from the Internet. 11409 PagesWithMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 11410 11411 // PartialMatchingImages: Partial matching images from the Internet. 11412 // Those images are similar enough to share some key-point features. For 11413 // example an original image will likely have partial matching for its 11414 // crops. 11415 PartialMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 11416 11417 // VisuallySimilarImages: The visually similar image results. 11418 VisuallySimilarImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 11419 11420 // WebEntities: Deduced entities from similar images on the Internet. 11421 WebEntities []*GoogleCloudVisionV1p4beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 11422 11423 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 11424 // unconditionally include in API requests. By default, fields with 11425 // empty or default values are omitted from API requests. However, any 11426 // non-pointer, non-interface field appearing in ForceSendFields will be 11427 // sent to the server regardless of whether the field is empty or not. 11428 // This may be used to include empty fields in Patch requests. 11429 ForceSendFields []string `json:"-"` 11430 11431 // NullFields is a list of field names (e.g. "BestGuessLabels") to 11432 // include in API requests with the JSON null value. By default, fields 11433 // with empty values are omitted from API requests. However, any field 11434 // with an empty value appearing in NullFields will be sent to the 11435 // server as null. It is an error if a field in this list has a 11436 // non-empty value. This may be used to include null fields in Patch 11437 // requests. 11438 NullFields []string `json:"-"` 11439} 11440 11441func (s *GoogleCloudVisionV1p4beta1WebDetection) MarshalJSON() ([]byte, error) { 11442 type NoMethod GoogleCloudVisionV1p4beta1WebDetection 11443 raw := NoMethod(*s) 11444 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11445} 11446 11447// GoogleCloudVisionV1p4beta1WebDetectionWebEntity: Entity deduced from 11448// similar images on the Internet. 11449type GoogleCloudVisionV1p4beta1WebDetectionWebEntity struct { 11450 // Description: Canonical description of the entity, in English. 11451 Description string `json:"description,omitempty"` 11452 11453 // EntityId: Opaque entity ID. 11454 EntityId string `json:"entityId,omitempty"` 11455 11456 // Score: Overall relevancy score for the entity. Not normalized and not 11457 // comparable across different image queries. 11458 Score float64 `json:"score,omitempty"` 11459 11460 // ForceSendFields is a list of field names (e.g. "Description") to 11461 // unconditionally include in API requests. By default, fields with 11462 // empty or default values are omitted from API requests. However, any 11463 // non-pointer, non-interface field appearing in ForceSendFields will be 11464 // sent to the server regardless of whether the field is empty or not. 11465 // This may be used to include empty fields in Patch requests. 11466 ForceSendFields []string `json:"-"` 11467 11468 // NullFields is a list of field names (e.g. "Description") to include 11469 // in API requests with the JSON null value. By default, fields with 11470 // empty values are omitted from API requests. However, any field with 11471 // an empty value appearing in NullFields will be sent to the server as 11472 // null. It is an error if a field in this list has a non-empty value. 11473 // This may be used to include null fields in Patch requests. 11474 NullFields []string `json:"-"` 11475} 11476 11477func (s *GoogleCloudVisionV1p4beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 11478 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebEntity 11479 raw := NoMethod(*s) 11480 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11481} 11482 11483func (s *GoogleCloudVisionV1p4beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 11484 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebEntity 11485 var s1 struct { 11486 Score gensupport.JSONFloat64 `json:"score"` 11487 *NoMethod 11488 } 11489 s1.NoMethod = (*NoMethod)(s) 11490 if err := json.Unmarshal(data, &s1); err != nil { 11491 return err 11492 } 11493 s.Score = float64(s1.Score) 11494 return nil 11495} 11496 11497// GoogleCloudVisionV1p4beta1WebDetectionWebImage: Metadata for online 11498// images. 11499type GoogleCloudVisionV1p4beta1WebDetectionWebImage struct { 11500 // Score: (Deprecated) Overall relevancy score for the image. 11501 Score float64 `json:"score,omitempty"` 11502 11503 // Url: The result image URL. 11504 Url string `json:"url,omitempty"` 11505 11506 // ForceSendFields is a list of field names (e.g. "Score") to 11507 // unconditionally include in API requests. By default, fields with 11508 // empty or default values are omitted from API requests. However, any 11509 // non-pointer, non-interface field appearing in ForceSendFields will be 11510 // sent to the server regardless of whether the field is empty or not. 11511 // This may be used to include empty fields in Patch requests. 11512 ForceSendFields []string `json:"-"` 11513 11514 // NullFields is a list of field names (e.g. "Score") to include in API 11515 // requests with the JSON null value. By default, fields with empty 11516 // values are omitted from API requests. However, any field with an 11517 // empty value appearing in NullFields will be sent to the server as 11518 // null. It is an error if a field in this list has a non-empty value. 11519 // This may be used to include null fields in Patch requests. 11520 NullFields []string `json:"-"` 11521} 11522 11523func (s *GoogleCloudVisionV1p4beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 11524 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebImage 11525 raw := NoMethod(*s) 11526 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11527} 11528 11529func (s *GoogleCloudVisionV1p4beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 11530 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebImage 11531 var s1 struct { 11532 Score gensupport.JSONFloat64 `json:"score"` 11533 *NoMethod 11534 } 11535 s1.NoMethod = (*NoMethod)(s) 11536 if err := json.Unmarshal(data, &s1); err != nil { 11537 return err 11538 } 11539 s.Score = float64(s1.Score) 11540 return nil 11541} 11542 11543// GoogleCloudVisionV1p4beta1WebDetectionWebLabel: Label to provide 11544// extra metadata for the web detection. 11545type GoogleCloudVisionV1p4beta1WebDetectionWebLabel struct { 11546 // Label: Label for extra metadata. 11547 Label string `json:"label,omitempty"` 11548 11549 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 11550 // or "sr-Latn". For more information, see 11551 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 11552 LanguageCode string `json:"languageCode,omitempty"` 11553 11554 // ForceSendFields is a list of field names (e.g. "Label") to 11555 // unconditionally include in API requests. By default, fields with 11556 // empty or default values are omitted from API requests. However, any 11557 // non-pointer, non-interface field appearing in ForceSendFields will be 11558 // sent to the server regardless of whether the field is empty or not. 11559 // This may be used to include empty fields in Patch requests. 11560 ForceSendFields []string `json:"-"` 11561 11562 // NullFields is a list of field names (e.g. "Label") to include in API 11563 // requests with the JSON null value. By default, fields with empty 11564 // values are omitted from API requests. However, any field with an 11565 // empty value appearing in NullFields will be sent to the server as 11566 // null. It is an error if a field in this list has a non-empty value. 11567 // This may be used to include null fields in Patch requests. 11568 NullFields []string `json:"-"` 11569} 11570 11571func (s *GoogleCloudVisionV1p4beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 11572 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebLabel 11573 raw := NoMethod(*s) 11574 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11575} 11576 11577// GoogleCloudVisionV1p4beta1WebDetectionWebPage: Metadata for web 11578// pages. 11579type GoogleCloudVisionV1p4beta1WebDetectionWebPage struct { 11580 // FullMatchingImages: Fully matching images on the page. Can include 11581 // resized copies of the query image. 11582 FullMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 11583 11584 // PageTitle: Title for the web page, may contain HTML markups. 11585 PageTitle string `json:"pageTitle,omitempty"` 11586 11587 // PartialMatchingImages: Partial matching images on the page. Those 11588 // images are similar enough to share some key-point features. For 11589 // example an original image will likely have partial matching for its 11590 // crops. 11591 PartialMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 11592 11593 // Score: (Deprecated) Overall relevancy score for the web page. 11594 Score float64 `json:"score,omitempty"` 11595 11596 // Url: The result web page URL. 11597 Url string `json:"url,omitempty"` 11598 11599 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 11600 // to unconditionally include in API requests. By default, fields with 11601 // empty or default values are omitted from API requests. However, any 11602 // non-pointer, non-interface field appearing in ForceSendFields will be 11603 // sent to the server regardless of whether the field is empty or not. 11604 // This may be used to include empty fields in Patch requests. 11605 ForceSendFields []string `json:"-"` 11606 11607 // NullFields is a list of field names (e.g. "FullMatchingImages") to 11608 // include in API requests with the JSON null value. By default, fields 11609 // with empty values are omitted from API requests. However, any field 11610 // with an empty value appearing in NullFields will be sent to the 11611 // server as null. It is an error if a field in this list has a 11612 // non-empty value. This may be used to include null fields in Patch 11613 // requests. 11614 NullFields []string `json:"-"` 11615} 11616 11617func (s *GoogleCloudVisionV1p4beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 11618 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebPage 11619 raw := NoMethod(*s) 11620 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11621} 11622 11623func (s *GoogleCloudVisionV1p4beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 11624 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebPage 11625 var s1 struct { 11626 Score gensupport.JSONFloat64 `json:"score"` 11627 *NoMethod 11628 } 11629 s1.NoMethod = (*NoMethod)(s) 11630 if err := json.Unmarshal(data, &s1); err != nil { 11631 return err 11632 } 11633 s.Score = float64(s1.Score) 11634 return nil 11635} 11636 11637// GoogleCloudVisionV1p4beta1Word: A word representation. 11638type GoogleCloudVisionV1p4beta1Word struct { 11639 // BoundingBox: The bounding box for the word. The vertices are in the 11640 // order of top-left, top-right, bottom-right, bottom-left. When a 11641 // rotation of the bounding box is detected the rotation is represented 11642 // as around the top-left corner as defined when the text is read in the 11643 // 'natural' orientation. For example: * when the text is horizontal it 11644 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 11645 // around the top-left corner it becomes: 2----3 | | 1----0 and the 11646 // vertex order will still be (0, 1, 2, 3). 11647 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 11648 11649 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 11650 Confidence float64 `json:"confidence,omitempty"` 11651 11652 // Property: Additional information detected for the word. 11653 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 11654 11655 // Symbols: List of symbols in the word. The order of the symbols 11656 // follows the natural reading order. 11657 Symbols []*GoogleCloudVisionV1p4beta1Symbol `json:"symbols,omitempty"` 11658 11659 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 11660 // unconditionally include in API requests. By default, fields with 11661 // empty or default values are omitted from API requests. However, any 11662 // non-pointer, non-interface field appearing in ForceSendFields will be 11663 // sent to the server regardless of whether the field is empty or not. 11664 // This may be used to include empty fields in Patch requests. 11665 ForceSendFields []string `json:"-"` 11666 11667 // NullFields is a list of field names (e.g. "BoundingBox") to include 11668 // in API requests with the JSON null value. By default, fields with 11669 // empty values are omitted from API requests. However, any field with 11670 // an empty value appearing in NullFields will be sent to the server as 11671 // null. It is an error if a field in this list has a non-empty value. 11672 // This may be used to include null fields in Patch requests. 11673 NullFields []string `json:"-"` 11674} 11675 11676func (s *GoogleCloudVisionV1p4beta1Word) MarshalJSON() ([]byte, error) { 11677 type NoMethod GoogleCloudVisionV1p4beta1Word 11678 raw := NoMethod(*s) 11679 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11680} 11681 11682func (s *GoogleCloudVisionV1p4beta1Word) UnmarshalJSON(data []byte) error { 11683 type NoMethod GoogleCloudVisionV1p4beta1Word 11684 var s1 struct { 11685 Confidence gensupport.JSONFloat64 `json:"confidence"` 11686 *NoMethod 11687 } 11688 s1.NoMethod = (*NoMethod)(s) 11689 if err := json.Unmarshal(data, &s1); err != nil { 11690 return err 11691 } 11692 s.Confidence = float64(s1.Confidence) 11693 return nil 11694} 11695 11696// GroupedResult: Information about the products similar to a single 11697// product in a query image. 11698type GroupedResult struct { 11699 // BoundingPoly: The bounding polygon around the product detected in the 11700 // query image. 11701 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 11702 11703 // ObjectAnnotations: List of generic predictions for the object in the 11704 // bounding box. 11705 ObjectAnnotations []*ObjectAnnotation `json:"objectAnnotations,omitempty"` 11706 11707 // Results: List of results, one for each product match. 11708 Results []*Result `json:"results,omitempty"` 11709 11710 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 11711 // unconditionally include in API requests. By default, fields with 11712 // empty or default values are omitted from API requests. However, any 11713 // non-pointer, non-interface field appearing in ForceSendFields will be 11714 // sent to the server regardless of whether the field is empty or not. 11715 // This may be used to include empty fields in Patch requests. 11716 ForceSendFields []string `json:"-"` 11717 11718 // NullFields is a list of field names (e.g. "BoundingPoly") to include 11719 // in API requests with the JSON null value. By default, fields with 11720 // empty values are omitted from API requests. However, any field with 11721 // an empty value appearing in NullFields will be sent to the server as 11722 // null. It is an error if a field in this list has a non-empty value. 11723 // This may be used to include null fields in Patch requests. 11724 NullFields []string `json:"-"` 11725} 11726 11727func (s *GroupedResult) MarshalJSON() ([]byte, error) { 11728 type NoMethod GroupedResult 11729 raw := NoMethod(*s) 11730 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11731} 11732 11733// ImageAnnotationContext: If an image was produced from a file (e.g. a 11734// PDF), this message gives information about the source of that image. 11735type ImageAnnotationContext struct { 11736 // PageNumber: If the file was a PDF or TIFF, this field gives the page 11737 // number within the file used to produce the image. 11738 PageNumber int64 `json:"pageNumber,omitempty"` 11739 11740 // Uri: The URI of the file used to produce the image. 11741 Uri string `json:"uri,omitempty"` 11742 11743 // ForceSendFields is a list of field names (e.g. "PageNumber") to 11744 // unconditionally include in API requests. By default, fields with 11745 // empty or default values are omitted from API requests. However, any 11746 // non-pointer, non-interface field appearing in ForceSendFields will be 11747 // sent to the server regardless of whether the field is empty or not. 11748 // This may be used to include empty fields in Patch requests. 11749 ForceSendFields []string `json:"-"` 11750 11751 // NullFields is a list of field names (e.g. "PageNumber") to include in 11752 // API requests with the JSON null value. By default, fields with empty 11753 // values are omitted from API requests. However, any field with an 11754 // empty value appearing in NullFields will be sent to the server as 11755 // null. It is an error if a field in this list has a non-empty value. 11756 // This may be used to include null fields in Patch requests. 11757 NullFields []string `json:"-"` 11758} 11759 11760func (s *ImageAnnotationContext) MarshalJSON() ([]byte, error) { 11761 type NoMethod ImageAnnotationContext 11762 raw := NoMethod(*s) 11763 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11764} 11765 11766// ImageProperties: Stores image properties, such as dominant colors. 11767type ImageProperties struct { 11768 // DominantColors: If present, dominant colors completed successfully. 11769 DominantColors *DominantColorsAnnotation `json:"dominantColors,omitempty"` 11770 11771 // ForceSendFields is a list of field names (e.g. "DominantColors") to 11772 // unconditionally include in API requests. By default, fields with 11773 // empty or default values are omitted from API requests. However, any 11774 // non-pointer, non-interface field appearing in ForceSendFields will be 11775 // sent to the server regardless of whether the field is empty or not. 11776 // This may be used to include empty fields in Patch requests. 11777 ForceSendFields []string `json:"-"` 11778 11779 // NullFields is a list of field names (e.g. "DominantColors") to 11780 // include in API requests with the JSON null value. By default, fields 11781 // with empty values are omitted from API requests. However, any field 11782 // with an empty value appearing in NullFields will be sent to the 11783 // server as null. It is an error if a field in this list has a 11784 // non-empty value. This may be used to include null fields in Patch 11785 // requests. 11786 NullFields []string `json:"-"` 11787} 11788 11789func (s *ImageProperties) MarshalJSON() ([]byte, error) { 11790 type NoMethod ImageProperties 11791 raw := NoMethod(*s) 11792 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11793} 11794 11795// ImportProductSetsResponse: Response message for the 11796// `ImportProductSets` method. This message is returned by the 11797// google.longrunning.Operations.GetOperation method in the returned 11798// google.longrunning.Operation.response field. 11799type ImportProductSetsResponse struct { 11800 // ReferenceImages: The list of reference_images that are imported 11801 // successfully. 11802 ReferenceImages []*ReferenceImage `json:"referenceImages,omitempty"` 11803 11804 // Statuses: The rpc status for each ImportProductSet request, including 11805 // both successes and errors. The number of statuses here matches the 11806 // number of lines in the csv file, and statuses[i] stores the success 11807 // or failure status of processing the i-th line of the csv, starting 11808 // from line 0. 11809 Statuses []*Status `json:"statuses,omitempty"` 11810 11811 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 11812 // unconditionally include in API requests. By default, fields with 11813 // empty or default values are omitted from API requests. However, any 11814 // non-pointer, non-interface field appearing in ForceSendFields will be 11815 // sent to the server regardless of whether the field is empty or not. 11816 // This may be used to include empty fields in Patch requests. 11817 ForceSendFields []string `json:"-"` 11818 11819 // NullFields is a list of field names (e.g. "ReferenceImages") to 11820 // include in API requests with the JSON null value. By default, fields 11821 // with empty values are omitted from API requests. However, any field 11822 // with an empty value appearing in NullFields will be sent to the 11823 // server as null. It is an error if a field in this list has a 11824 // non-empty value. This may be used to include null fields in Patch 11825 // requests. 11826 NullFields []string `json:"-"` 11827} 11828 11829func (s *ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 11830 type NoMethod ImportProductSetsResponse 11831 raw := NoMethod(*s) 11832 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11833} 11834 11835// InputConfig: The desired input location and metadata. 11836type InputConfig struct { 11837 // Content: File content, represented as a stream of bytes. Note: As 11838 // with all `bytes` fields, protobuffers use a pure binary 11839 // representation, whereas JSON representations use base64. Currently, 11840 // this field only works for BatchAnnotateFiles requests. It does not 11841 // work for AsyncBatchAnnotateFiles requests. 11842 Content string `json:"content,omitempty"` 11843 11844 // GcsSource: The Google Cloud Storage location to read the input from. 11845 GcsSource *GcsSource `json:"gcsSource,omitempty"` 11846 11847 // MimeType: The type of the file. Currently only "application/pdf", 11848 // "image/tiff" and "image/gif" are supported. Wildcards are not 11849 // supported. 11850 MimeType string `json:"mimeType,omitempty"` 11851 11852 // ForceSendFields is a list of field names (e.g. "Content") to 11853 // unconditionally include in API requests. By default, fields with 11854 // empty or default values are omitted from API requests. However, any 11855 // non-pointer, non-interface field appearing in ForceSendFields will be 11856 // sent to the server regardless of whether the field is empty or not. 11857 // This may be used to include empty fields in Patch requests. 11858 ForceSendFields []string `json:"-"` 11859 11860 // NullFields is a list of field names (e.g. "Content") to include in 11861 // API requests with the JSON null value. By default, fields with empty 11862 // values are omitted from API requests. However, any field with an 11863 // empty value appearing in NullFields will be sent to the server as 11864 // null. It is an error if a field in this list has a non-empty value. 11865 // This may be used to include null fields in Patch requests. 11866 NullFields []string `json:"-"` 11867} 11868 11869func (s *InputConfig) MarshalJSON() ([]byte, error) { 11870 type NoMethod InputConfig 11871 raw := NoMethod(*s) 11872 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11873} 11874 11875// KeyValue: A product label represented as a key-value pair. 11876type KeyValue struct { 11877 // Key: The key of the label attached to the product. Cannot be empty 11878 // and cannot exceed 128 bytes. 11879 Key string `json:"key,omitempty"` 11880 11881 // Value: The value of the label attached to the product. Cannot be 11882 // empty and cannot exceed 128 bytes. 11883 Value string `json:"value,omitempty"` 11884 11885 // ForceSendFields is a list of field names (e.g. "Key") to 11886 // unconditionally include in API requests. By default, fields with 11887 // empty or default values are omitted from API requests. However, any 11888 // non-pointer, non-interface field appearing in ForceSendFields will be 11889 // sent to the server regardless of whether the field is empty or not. 11890 // This may be used to include empty fields in Patch requests. 11891 ForceSendFields []string `json:"-"` 11892 11893 // NullFields is a list of field names (e.g. "Key") to include in API 11894 // requests with the JSON null value. By default, fields with empty 11895 // values are omitted from API requests. However, any field with an 11896 // empty value appearing in NullFields will be sent to the server as 11897 // null. It is an error if a field in this list has a non-empty value. 11898 // This may be used to include null fields in Patch requests. 11899 NullFields []string `json:"-"` 11900} 11901 11902func (s *KeyValue) MarshalJSON() ([]byte, error) { 11903 type NoMethod KeyValue 11904 raw := NoMethod(*s) 11905 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11906} 11907 11908// Landmark: A face-specific landmark (for example, a face feature). 11909type Landmark struct { 11910 // Position: Face landmark position. 11911 Position *Position `json:"position,omitempty"` 11912 11913 // Type: Face landmark type. 11914 // 11915 // Possible values: 11916 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 11917 // filled. 11918 // "LEFT_EYE" - Left eye. 11919 // "RIGHT_EYE" - Right eye. 11920 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 11921 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 11922 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 11923 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 11924 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 11925 // "NOSE_TIP" - Nose tip. 11926 // "UPPER_LIP" - Upper lip. 11927 // "LOWER_LIP" - Lower lip. 11928 // "MOUTH_LEFT" - Mouth left. 11929 // "MOUTH_RIGHT" - Mouth right. 11930 // "MOUTH_CENTER" - Mouth center. 11931 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 11932 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 11933 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 11934 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 11935 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 11936 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 11937 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 11938 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 11939 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 11940 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 11941 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 11942 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 11943 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 11944 // "LEFT_EAR_TRAGION" - Left ear tragion. 11945 // "RIGHT_EAR_TRAGION" - Right ear tragion. 11946 // "LEFT_EYE_PUPIL" - Left eye pupil. 11947 // "RIGHT_EYE_PUPIL" - Right eye pupil. 11948 // "FOREHEAD_GLABELLA" - Forehead glabella. 11949 // "CHIN_GNATHION" - Chin gnathion. 11950 // "CHIN_LEFT_GONION" - Chin left gonion. 11951 // "CHIN_RIGHT_GONION" - Chin right gonion. 11952 // "LEFT_CHEEK_CENTER" - Left cheek center. 11953 // "RIGHT_CHEEK_CENTER" - Right cheek center. 11954 Type string `json:"type,omitempty"` 11955 11956 // ForceSendFields is a list of field names (e.g. "Position") to 11957 // unconditionally include in API requests. By default, fields with 11958 // empty or default values are omitted from API requests. However, any 11959 // non-pointer, non-interface field appearing in ForceSendFields will be 11960 // sent to the server regardless of whether the field is empty or not. 11961 // This may be used to include empty fields in Patch requests. 11962 ForceSendFields []string `json:"-"` 11963 11964 // NullFields is a list of field names (e.g. "Position") to include in 11965 // API requests with the JSON null value. By default, fields with empty 11966 // values are omitted from API requests. However, any field with an 11967 // empty value appearing in NullFields will be sent to the server as 11968 // null. It is an error if a field in this list has a non-empty value. 11969 // This may be used to include null fields in Patch requests. 11970 NullFields []string `json:"-"` 11971} 11972 11973func (s *Landmark) MarshalJSON() ([]byte, error) { 11974 type NoMethod Landmark 11975 raw := NoMethod(*s) 11976 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11977} 11978 11979// LatLng: An object that represents a latitude/longitude pair. This is 11980// expressed as a pair of doubles to represent degrees latitude and 11981// degrees longitude. Unless specified otherwise, this object must 11982// conform to the WGS84 standard. Values must be within normalized 11983// ranges. 11984type LatLng struct { 11985 // Latitude: The latitude in degrees. It must be in the range [-90.0, 11986 // +90.0]. 11987 Latitude float64 `json:"latitude,omitempty"` 11988 11989 // Longitude: The longitude in degrees. It must be in the range [-180.0, 11990 // +180.0]. 11991 Longitude float64 `json:"longitude,omitempty"` 11992 11993 // ForceSendFields is a list of field names (e.g. "Latitude") to 11994 // unconditionally include in API requests. By default, fields with 11995 // empty or default values are omitted from API requests. However, any 11996 // non-pointer, non-interface field appearing in ForceSendFields will be 11997 // sent to the server regardless of whether the field is empty or not. 11998 // This may be used to include empty fields in Patch requests. 11999 ForceSendFields []string `json:"-"` 12000 12001 // NullFields is a list of field names (e.g. "Latitude") to include in 12002 // API requests with the JSON null value. By default, fields with empty 12003 // values are omitted from API requests. However, any field with an 12004 // empty value appearing in NullFields will be sent to the server as 12005 // null. It is an error if a field in this list has a non-empty value. 12006 // This may be used to include null fields in Patch requests. 12007 NullFields []string `json:"-"` 12008} 12009 12010func (s *LatLng) MarshalJSON() ([]byte, error) { 12011 type NoMethod LatLng 12012 raw := NoMethod(*s) 12013 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12014} 12015 12016func (s *LatLng) UnmarshalJSON(data []byte) error { 12017 type NoMethod LatLng 12018 var s1 struct { 12019 Latitude gensupport.JSONFloat64 `json:"latitude"` 12020 Longitude gensupport.JSONFloat64 `json:"longitude"` 12021 *NoMethod 12022 } 12023 s1.NoMethod = (*NoMethod)(s) 12024 if err := json.Unmarshal(data, &s1); err != nil { 12025 return err 12026 } 12027 s.Latitude = float64(s1.Latitude) 12028 s.Longitude = float64(s1.Longitude) 12029 return nil 12030} 12031 12032// LocalizedObjectAnnotation: Set of detected objects with bounding 12033// boxes. 12034type LocalizedObjectAnnotation struct { 12035 // BoundingPoly: Image region to which this object belongs. This must be 12036 // populated. 12037 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 12038 12039 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 12040 // For more information, see 12041 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 12042 LanguageCode string `json:"languageCode,omitempty"` 12043 12044 // Mid: Object ID that should align with EntityAnnotation mid. 12045 Mid string `json:"mid,omitempty"` 12046 12047 // Name: Object name, expressed in its `language_code` language. 12048 Name string `json:"name,omitempty"` 12049 12050 // Score: Score of the result. Range [0, 1]. 12051 Score float64 `json:"score,omitempty"` 12052 12053 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 12054 // unconditionally include in API requests. By default, fields with 12055 // empty or default values are omitted from API requests. However, any 12056 // non-pointer, non-interface field appearing in ForceSendFields will be 12057 // sent to the server regardless of whether the field is empty or not. 12058 // This may be used to include empty fields in Patch requests. 12059 ForceSendFields []string `json:"-"` 12060 12061 // NullFields is a list of field names (e.g. "BoundingPoly") to include 12062 // in API requests with the JSON null value. By default, fields with 12063 // empty values are omitted from API requests. However, any field with 12064 // an empty value appearing in NullFields will be sent to the server as 12065 // null. It is an error if a field in this list has a non-empty value. 12066 // This may be used to include null fields in Patch requests. 12067 NullFields []string `json:"-"` 12068} 12069 12070func (s *LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 12071 type NoMethod LocalizedObjectAnnotation 12072 raw := NoMethod(*s) 12073 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12074} 12075 12076func (s *LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 12077 type NoMethod LocalizedObjectAnnotation 12078 var s1 struct { 12079 Score gensupport.JSONFloat64 `json:"score"` 12080 *NoMethod 12081 } 12082 s1.NoMethod = (*NoMethod)(s) 12083 if err := json.Unmarshal(data, &s1); err != nil { 12084 return err 12085 } 12086 s.Score = float64(s1.Score) 12087 return nil 12088} 12089 12090// LocationInfo: Detected entity location information. 12091type LocationInfo struct { 12092 // LatLng: lat/long location coordinates. 12093 LatLng *LatLng `json:"latLng,omitempty"` 12094 12095 // ForceSendFields is a list of field names (e.g. "LatLng") to 12096 // unconditionally include in API requests. By default, fields with 12097 // empty or default values are omitted from API requests. However, any 12098 // non-pointer, non-interface field appearing in ForceSendFields will be 12099 // sent to the server regardless of whether the field is empty or not. 12100 // This may be used to include empty fields in Patch requests. 12101 ForceSendFields []string `json:"-"` 12102 12103 // NullFields is a list of field names (e.g. "LatLng") to include in API 12104 // requests with the JSON null value. By default, fields with empty 12105 // values are omitted from API requests. However, any field with an 12106 // empty value appearing in NullFields will be sent to the server as 12107 // null. It is an error if a field in this list has a non-empty value. 12108 // This may be used to include null fields in Patch requests. 12109 NullFields []string `json:"-"` 12110} 12111 12112func (s *LocationInfo) MarshalJSON() ([]byte, error) { 12113 type NoMethod LocationInfo 12114 raw := NoMethod(*s) 12115 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12116} 12117 12118// NormalizedVertex: A vertex represents a 2D point in the image. NOTE: 12119// the normalized vertex coordinates are relative to the original image 12120// and range from 0 to 1. 12121type NormalizedVertex struct { 12122 // X: X coordinate. 12123 X float64 `json:"x,omitempty"` 12124 12125 // Y: Y coordinate. 12126 Y float64 `json:"y,omitempty"` 12127 12128 // ForceSendFields is a list of field names (e.g. "X") to 12129 // unconditionally include in API requests. By default, fields with 12130 // empty or default values are omitted from API requests. However, any 12131 // non-pointer, non-interface field appearing in ForceSendFields will be 12132 // sent to the server regardless of whether the field is empty or not. 12133 // This may be used to include empty fields in Patch requests. 12134 ForceSendFields []string `json:"-"` 12135 12136 // NullFields is a list of field names (e.g. "X") to include in API 12137 // requests with the JSON null value. By default, fields with empty 12138 // values are omitted from API requests. However, any field with an 12139 // empty value appearing in NullFields will be sent to the server as 12140 // null. It is an error if a field in this list has a non-empty value. 12141 // This may be used to include null fields in Patch requests. 12142 NullFields []string `json:"-"` 12143} 12144 12145func (s *NormalizedVertex) MarshalJSON() ([]byte, error) { 12146 type NoMethod NormalizedVertex 12147 raw := NoMethod(*s) 12148 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12149} 12150 12151func (s *NormalizedVertex) UnmarshalJSON(data []byte) error { 12152 type NoMethod NormalizedVertex 12153 var s1 struct { 12154 X gensupport.JSONFloat64 `json:"x"` 12155 Y gensupport.JSONFloat64 `json:"y"` 12156 *NoMethod 12157 } 12158 s1.NoMethod = (*NoMethod)(s) 12159 if err := json.Unmarshal(data, &s1); err != nil { 12160 return err 12161 } 12162 s.X = float64(s1.X) 12163 s.Y = float64(s1.Y) 12164 return nil 12165} 12166 12167// ObjectAnnotation: Prediction for what the object in the bounding box 12168// is. 12169type ObjectAnnotation struct { 12170 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 12171 // For more information, see 12172 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 12173 LanguageCode string `json:"languageCode,omitempty"` 12174 12175 // Mid: Object ID that should align with EntityAnnotation mid. 12176 Mid string `json:"mid,omitempty"` 12177 12178 // Name: Object name, expressed in its `language_code` language. 12179 Name string `json:"name,omitempty"` 12180 12181 // Score: Score of the result. Range [0, 1]. 12182 Score float64 `json:"score,omitempty"` 12183 12184 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 12185 // unconditionally include in API requests. By default, fields with 12186 // empty or default values are omitted from API requests. However, any 12187 // non-pointer, non-interface field appearing in ForceSendFields will be 12188 // sent to the server regardless of whether the field is empty or not. 12189 // This may be used to include empty fields in Patch requests. 12190 ForceSendFields []string `json:"-"` 12191 12192 // NullFields is a list of field names (e.g. "LanguageCode") to include 12193 // in API requests with the JSON null value. By default, fields with 12194 // empty values are omitted from API requests. However, any field with 12195 // an empty value appearing in NullFields will be sent to the server as 12196 // null. It is an error if a field in this list has a non-empty value. 12197 // This may be used to include null fields in Patch requests. 12198 NullFields []string `json:"-"` 12199} 12200 12201func (s *ObjectAnnotation) MarshalJSON() ([]byte, error) { 12202 type NoMethod ObjectAnnotation 12203 raw := NoMethod(*s) 12204 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12205} 12206 12207func (s *ObjectAnnotation) UnmarshalJSON(data []byte) error { 12208 type NoMethod ObjectAnnotation 12209 var s1 struct { 12210 Score gensupport.JSONFloat64 `json:"score"` 12211 *NoMethod 12212 } 12213 s1.NoMethod = (*NoMethod)(s) 12214 if err := json.Unmarshal(data, &s1); err != nil { 12215 return err 12216 } 12217 s.Score = float64(s1.Score) 12218 return nil 12219} 12220 12221// Operation: This resource represents a long-running operation that is 12222// the result of a network API call. 12223type Operation struct { 12224 // Done: If the value is `false`, it means the operation is still in 12225 // progress. If `true`, the operation is completed, and either `error` 12226 // or `response` is available. 12227 Done bool `json:"done,omitempty"` 12228 12229 // Error: The error result of the operation in case of failure or 12230 // cancellation. 12231 Error *Status `json:"error,omitempty"` 12232 12233 // Metadata: Service-specific metadata associated with the operation. It 12234 // typically contains progress information and common metadata such as 12235 // create time. Some services might not provide such metadata. Any 12236 // method that returns a long-running operation should document the 12237 // metadata type, if any. 12238 Metadata googleapi.RawMessage `json:"metadata,omitempty"` 12239 12240 // Name: The server-assigned name, which is only unique within the same 12241 // service that originally returns it. If you use the default HTTP 12242 // mapping, the `name` should be a resource name ending with 12243 // `operations/{unique_id}`. 12244 Name string `json:"name,omitempty"` 12245 12246 // Response: The normal response of the operation in case of success. If 12247 // the original method returns no data on success, such as `Delete`, the 12248 // response is `google.protobuf.Empty`. If the original method is 12249 // standard `Get`/`Create`/`Update`, the response should be the 12250 // resource. For other methods, the response should have the type 12251 // `XxxResponse`, where `Xxx` is the original method name. For example, 12252 // if the original method name is `TakeSnapshot()`, the inferred 12253 // response type is `TakeSnapshotResponse`. 12254 Response googleapi.RawMessage `json:"response,omitempty"` 12255 12256 // ServerResponse contains the HTTP response code and headers from the 12257 // server. 12258 googleapi.ServerResponse `json:"-"` 12259 12260 // ForceSendFields is a list of field names (e.g. "Done") to 12261 // unconditionally include in API requests. By default, fields with 12262 // empty or default values are omitted from API requests. However, any 12263 // non-pointer, non-interface field appearing in ForceSendFields will be 12264 // sent to the server regardless of whether the field is empty or not. 12265 // This may be used to include empty fields in Patch requests. 12266 ForceSendFields []string `json:"-"` 12267 12268 // NullFields is a list of field names (e.g. "Done") to include in API 12269 // requests with the JSON null value. By default, fields with empty 12270 // values are omitted from API requests. However, any field with an 12271 // empty value appearing in NullFields will be sent to the server as 12272 // null. It is an error if a field in this list has a non-empty value. 12273 // This may be used to include null fields in Patch requests. 12274 NullFields []string `json:"-"` 12275} 12276 12277func (s *Operation) MarshalJSON() ([]byte, error) { 12278 type NoMethod Operation 12279 raw := NoMethod(*s) 12280 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12281} 12282 12283// OperationMetadata: Contains metadata for the BatchAnnotateImages 12284// operation. 12285type OperationMetadata struct { 12286 // CreateTime: The time when the batch request was received. 12287 CreateTime string `json:"createTime,omitempty"` 12288 12289 // State: Current state of the batch operation. 12290 // 12291 // Possible values: 12292 // "STATE_UNSPECIFIED" - Invalid. 12293 // "CREATED" - Request is received. 12294 // "RUNNING" - Request is actively being processed. 12295 // "DONE" - The batch processing is done. 12296 // "CANCELLED" - The batch processing was cancelled. 12297 State string `json:"state,omitempty"` 12298 12299 // UpdateTime: The time when the operation result was last updated. 12300 UpdateTime string `json:"updateTime,omitempty"` 12301 12302 // ForceSendFields is a list of field names (e.g. "CreateTime") to 12303 // unconditionally include in API requests. By default, fields with 12304 // empty or default values are omitted from API requests. However, any 12305 // non-pointer, non-interface field appearing in ForceSendFields will be 12306 // sent to the server regardless of whether the field is empty or not. 12307 // This may be used to include empty fields in Patch requests. 12308 ForceSendFields []string `json:"-"` 12309 12310 // NullFields is a list of field names (e.g. "CreateTime") to include in 12311 // API requests with the JSON null value. By default, fields with empty 12312 // values are omitted from API requests. However, any field with an 12313 // empty value appearing in NullFields will be sent to the server as 12314 // null. It is an error if a field in this list has a non-empty value. 12315 // This may be used to include null fields in Patch requests. 12316 NullFields []string `json:"-"` 12317} 12318 12319func (s *OperationMetadata) MarshalJSON() ([]byte, error) { 12320 type NoMethod OperationMetadata 12321 raw := NoMethod(*s) 12322 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12323} 12324 12325// OutputConfig: The desired output location and metadata. 12326type OutputConfig struct { 12327 // BatchSize: The max number of response protos to put into each output 12328 // JSON file on Google Cloud Storage. The valid range is [1, 100]. If 12329 // not specified, the default value is 20. For example, for one pdf file 12330 // with 100 pages, 100 response protos will be generated. If 12331 // `batch_size` = 20, then 5 json files each containing 20 response 12332 // protos will be written under the prefix `gcs_destination`.`uri`. 12333 // Currently, batch_size only applies to GcsDestination, with potential 12334 // future support for other output configurations. 12335 BatchSize int64 `json:"batchSize,omitempty"` 12336 12337 // GcsDestination: The Google Cloud Storage location to write the 12338 // output(s) to. 12339 GcsDestination *GcsDestination `json:"gcsDestination,omitempty"` 12340 12341 // ForceSendFields is a list of field names (e.g. "BatchSize") to 12342 // unconditionally include in API requests. By default, fields with 12343 // empty or default values are omitted from API requests. However, any 12344 // non-pointer, non-interface field appearing in ForceSendFields will be 12345 // sent to the server regardless of whether the field is empty or not. 12346 // This may be used to include empty fields in Patch requests. 12347 ForceSendFields []string `json:"-"` 12348 12349 // NullFields is a list of field names (e.g. "BatchSize") to include in 12350 // API requests with the JSON null value. By default, fields with empty 12351 // values are omitted from API requests. However, any field with an 12352 // empty value appearing in NullFields will be sent to the server as 12353 // null. It is an error if a field in this list has a non-empty value. 12354 // This may be used to include null fields in Patch requests. 12355 NullFields []string `json:"-"` 12356} 12357 12358func (s *OutputConfig) MarshalJSON() ([]byte, error) { 12359 type NoMethod OutputConfig 12360 raw := NoMethod(*s) 12361 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12362} 12363 12364// Page: Detected page from OCR. 12365type Page struct { 12366 // Blocks: List of blocks of text, images etc on this page. 12367 Blocks []*Block `json:"blocks,omitempty"` 12368 12369 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 12370 Confidence float64 `json:"confidence,omitempty"` 12371 12372 // Height: Page height. For PDFs the unit is points. For images 12373 // (including TIFFs) the unit is pixels. 12374 Height int64 `json:"height,omitempty"` 12375 12376 // Property: Additional information detected on the page. 12377 Property *TextProperty `json:"property,omitempty"` 12378 12379 // Width: Page width. For PDFs the unit is points. For images (including 12380 // TIFFs) the unit is pixels. 12381 Width int64 `json:"width,omitempty"` 12382 12383 // ForceSendFields is a list of field names (e.g. "Blocks") to 12384 // unconditionally include in API requests. By default, fields with 12385 // empty or default values are omitted from API requests. However, any 12386 // non-pointer, non-interface field appearing in ForceSendFields will be 12387 // sent to the server regardless of whether the field is empty or not. 12388 // This may be used to include empty fields in Patch requests. 12389 ForceSendFields []string `json:"-"` 12390 12391 // NullFields is a list of field names (e.g. "Blocks") to include in API 12392 // requests with the JSON null value. By default, fields with empty 12393 // values are omitted from API requests. However, any field with an 12394 // empty value appearing in NullFields will be sent to the server as 12395 // null. It is an error if a field in this list has a non-empty value. 12396 // This may be used to include null fields in Patch requests. 12397 NullFields []string `json:"-"` 12398} 12399 12400func (s *Page) MarshalJSON() ([]byte, error) { 12401 type NoMethod Page 12402 raw := NoMethod(*s) 12403 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12404} 12405 12406func (s *Page) UnmarshalJSON(data []byte) error { 12407 type NoMethod Page 12408 var s1 struct { 12409 Confidence gensupport.JSONFloat64 `json:"confidence"` 12410 *NoMethod 12411 } 12412 s1.NoMethod = (*NoMethod)(s) 12413 if err := json.Unmarshal(data, &s1); err != nil { 12414 return err 12415 } 12416 s.Confidence = float64(s1.Confidence) 12417 return nil 12418} 12419 12420// Paragraph: Structural unit of text representing a number of words in 12421// certain order. 12422type Paragraph struct { 12423 // BoundingBox: The bounding box for the paragraph. The vertices are in 12424 // the order of top-left, top-right, bottom-right, bottom-left. When a 12425 // rotation of the bounding box is detected the rotation is represented 12426 // as around the top-left corner as defined when the text is read in the 12427 // 'natural' orientation. For example: * when the text is horizontal it 12428 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 12429 // around the top-left corner it becomes: 2----3 | | 1----0 and the 12430 // vertex order will still be (0, 1, 2, 3). 12431 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 12432 12433 // Confidence: Confidence of the OCR results for the paragraph. Range 12434 // [0, 1]. 12435 Confidence float64 `json:"confidence,omitempty"` 12436 12437 // Property: Additional information detected for the paragraph. 12438 Property *TextProperty `json:"property,omitempty"` 12439 12440 // Words: List of all words in this paragraph. 12441 Words []*Word `json:"words,omitempty"` 12442 12443 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 12444 // unconditionally include in API requests. By default, fields with 12445 // empty or default values are omitted from API requests. However, any 12446 // non-pointer, non-interface field appearing in ForceSendFields will be 12447 // sent to the server regardless of whether the field is empty or not. 12448 // This may be used to include empty fields in Patch requests. 12449 ForceSendFields []string `json:"-"` 12450 12451 // NullFields is a list of field names (e.g. "BoundingBox") to include 12452 // in API requests with the JSON null value. By default, fields with 12453 // empty values are omitted from API requests. However, any field with 12454 // an empty value appearing in NullFields will be sent to the server as 12455 // null. It is an error if a field in this list has a non-empty value. 12456 // This may be used to include null fields in Patch requests. 12457 NullFields []string `json:"-"` 12458} 12459 12460func (s *Paragraph) MarshalJSON() ([]byte, error) { 12461 type NoMethod Paragraph 12462 raw := NoMethod(*s) 12463 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12464} 12465 12466func (s *Paragraph) UnmarshalJSON(data []byte) error { 12467 type NoMethod Paragraph 12468 var s1 struct { 12469 Confidence gensupport.JSONFloat64 `json:"confidence"` 12470 *NoMethod 12471 } 12472 s1.NoMethod = (*NoMethod)(s) 12473 if err := json.Unmarshal(data, &s1); err != nil { 12474 return err 12475 } 12476 s.Confidence = float64(s1.Confidence) 12477 return nil 12478} 12479 12480// Position: A 3D position in the image, used primarily for Face 12481// detection landmarks. A valid Position must have both x and y 12482// coordinates. The position coordinates are in the same scale as the 12483// original image. 12484type Position struct { 12485 // X: X coordinate. 12486 X float64 `json:"x,omitempty"` 12487 12488 // Y: Y coordinate. 12489 Y float64 `json:"y,omitempty"` 12490 12491 // Z: Z coordinate (or depth). 12492 Z float64 `json:"z,omitempty"` 12493 12494 // ForceSendFields is a list of field names (e.g. "X") to 12495 // unconditionally include in API requests. By default, fields with 12496 // empty or default values are omitted from API requests. However, any 12497 // non-pointer, non-interface field appearing in ForceSendFields will be 12498 // sent to the server regardless of whether the field is empty or not. 12499 // This may be used to include empty fields in Patch requests. 12500 ForceSendFields []string `json:"-"` 12501 12502 // NullFields is a list of field names (e.g. "X") to include in API 12503 // requests with the JSON null value. By default, fields with empty 12504 // values are omitted from API requests. However, any field with an 12505 // empty value appearing in NullFields will be sent to the server as 12506 // null. It is an error if a field in this list has a non-empty value. 12507 // This may be used to include null fields in Patch requests. 12508 NullFields []string `json:"-"` 12509} 12510 12511func (s *Position) MarshalJSON() ([]byte, error) { 12512 type NoMethod Position 12513 raw := NoMethod(*s) 12514 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12515} 12516 12517func (s *Position) UnmarshalJSON(data []byte) error { 12518 type NoMethod Position 12519 var s1 struct { 12520 X gensupport.JSONFloat64 `json:"x"` 12521 Y gensupport.JSONFloat64 `json:"y"` 12522 Z gensupport.JSONFloat64 `json:"z"` 12523 *NoMethod 12524 } 12525 s1.NoMethod = (*NoMethod)(s) 12526 if err := json.Unmarshal(data, &s1); err != nil { 12527 return err 12528 } 12529 s.X = float64(s1.X) 12530 s.Y = float64(s1.Y) 12531 s.Z = float64(s1.Z) 12532 return nil 12533} 12534 12535// Product: A Product contains ReferenceImages. 12536type Product struct { 12537 // Description: User-provided metadata to be stored with this product. 12538 // Must be at most 4096 characters long. 12539 Description string `json:"description,omitempty"` 12540 12541 // DisplayName: The user-provided name for this Product. Must not be 12542 // empty. Must be at most 4096 characters long. 12543 DisplayName string `json:"displayName,omitempty"` 12544 12545 // Name: The resource name of the product. Format is: 12546 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This 12547 // field is ignored when creating a product. 12548 Name string `json:"name,omitempty"` 12549 12550 // ProductCategory: Immutable. The category for the product identified 12551 // by the reference image. This should be one of "homegoods-v2", 12552 // "apparel-v2", "toys-v2", "packagedgoods-v1" or "general-v1". The 12553 // legacy categories "homegoods", "apparel", and "toys" are still 12554 // supported, but these should not be used for new products. 12555 ProductCategory string `json:"productCategory,omitempty"` 12556 12557 // ProductLabels: Key-value pairs that can be attached to a product. At 12558 // query time, constraints can be specified based on the product_labels. 12559 // Note that integer values can be provided as strings, e.g. "1199". 12560 // Only strings with integer values can match a range-based restriction 12561 // which is to be supported soon. Multiple values can be assigned to the 12562 // same key. One product may have up to 500 product_labels. Notice that 12563 // the total number of distinct product_labels over all products in one 12564 // ProductSet cannot exceed 1M, otherwise the product search pipeline 12565 // will refuse to work for that ProductSet. 12566 ProductLabels []*KeyValue `json:"productLabels,omitempty"` 12567 12568 // ForceSendFields is a list of field names (e.g. "Description") to 12569 // unconditionally include in API requests. By default, fields with 12570 // empty or default values are omitted from API requests. However, any 12571 // non-pointer, non-interface field appearing in ForceSendFields will be 12572 // sent to the server regardless of whether the field is empty or not. 12573 // This may be used to include empty fields in Patch requests. 12574 ForceSendFields []string `json:"-"` 12575 12576 // NullFields is a list of field names (e.g. "Description") to include 12577 // in API requests with the JSON null value. By default, fields with 12578 // empty values are omitted from API requests. However, any field with 12579 // an empty value appearing in NullFields will be sent to the server as 12580 // null. It is an error if a field in this list has a non-empty value. 12581 // This may be used to include null fields in Patch requests. 12582 NullFields []string `json:"-"` 12583} 12584 12585func (s *Product) MarshalJSON() ([]byte, error) { 12586 type NoMethod Product 12587 raw := NoMethod(*s) 12588 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12589} 12590 12591// ProductSearchResults: Results for a product search request. 12592type ProductSearchResults struct { 12593 // IndexTime: Timestamp of the index which provided these results. 12594 // Products added to the product set and products removed from the 12595 // product set after this time are not reflected in the current results. 12596 IndexTime string `json:"indexTime,omitempty"` 12597 12598 // ProductGroupedResults: List of results grouped by products detected 12599 // in the query image. Each entry corresponds to one bounding polygon in 12600 // the query image, and contains the matching products specific to that 12601 // region. There may be duplicate product matches in the union of all 12602 // the per-product results. 12603 ProductGroupedResults []*GroupedResult `json:"productGroupedResults,omitempty"` 12604 12605 // Results: List of results, one for each product match. 12606 Results []*Result `json:"results,omitempty"` 12607 12608 // ForceSendFields is a list of field names (e.g. "IndexTime") to 12609 // unconditionally include in API requests. By default, fields with 12610 // empty or default values are omitted from API requests. However, any 12611 // non-pointer, non-interface field appearing in ForceSendFields will be 12612 // sent to the server regardless of whether the field is empty or not. 12613 // This may be used to include empty fields in Patch requests. 12614 ForceSendFields []string `json:"-"` 12615 12616 // NullFields is a list of field names (e.g. "IndexTime") to include in 12617 // API requests with the JSON null value. By default, fields with empty 12618 // values are omitted from API requests. However, any field with an 12619 // empty value appearing in NullFields will be sent to the server as 12620 // null. It is an error if a field in this list has a non-empty value. 12621 // This may be used to include null fields in Patch requests. 12622 NullFields []string `json:"-"` 12623} 12624 12625func (s *ProductSearchResults) MarshalJSON() ([]byte, error) { 12626 type NoMethod ProductSearchResults 12627 raw := NoMethod(*s) 12628 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12629} 12630 12631// Property: A `Property` consists of a user-supplied name/value pair. 12632type Property struct { 12633 // Name: Name of the property. 12634 Name string `json:"name,omitempty"` 12635 12636 // Uint64Value: Value of numeric properties. 12637 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 12638 12639 // Value: Value of the property. 12640 Value string `json:"value,omitempty"` 12641 12642 // ForceSendFields is a list of field names (e.g. "Name") to 12643 // unconditionally include in API requests. By default, fields with 12644 // empty or default values are omitted from API requests. However, any 12645 // non-pointer, non-interface field appearing in ForceSendFields will be 12646 // sent to the server regardless of whether the field is empty or not. 12647 // This may be used to include empty fields in Patch requests. 12648 ForceSendFields []string `json:"-"` 12649 12650 // NullFields is a list of field names (e.g. "Name") to include in API 12651 // requests with the JSON null value. By default, fields with empty 12652 // values are omitted from API requests. However, any field with an 12653 // empty value appearing in NullFields will be sent to the server as 12654 // null. It is an error if a field in this list has a non-empty value. 12655 // This may be used to include null fields in Patch requests. 12656 NullFields []string `json:"-"` 12657} 12658 12659func (s *Property) MarshalJSON() ([]byte, error) { 12660 type NoMethod Property 12661 raw := NoMethod(*s) 12662 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12663} 12664 12665// ReferenceImage: A `ReferenceImage` represents a product image and its 12666// associated metadata, such as bounding boxes. 12667type ReferenceImage struct { 12668 // BoundingPolys: Optional. Bounding polygons around the areas of 12669 // interest in the reference image. If this field is empty, the system 12670 // will try to detect regions of interest. At most 10 bounding polygons 12671 // will be used. The provided shape is converted into a non-rotated 12672 // rectangle. Once converted, the small edge of the rectangle must be 12673 // greater than or equal to 300 pixels. The aspect ratio must be 1:4 or 12674 // less (i.e. 1:3 is ok; 1:5 is not). 12675 BoundingPolys []*BoundingPoly `json:"boundingPolys,omitempty"` 12676 12677 // Name: The resource name of the reference image. Format is: 12678 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceIma 12679 // ges/IMAGE_ID`. This field is ignored when creating a reference image. 12680 Name string `json:"name,omitempty"` 12681 12682 // Uri: Required. The Google Cloud Storage URI of the reference image. 12683 // The URI must start with `gs://`. 12684 Uri string `json:"uri,omitempty"` 12685 12686 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 12687 // unconditionally include in API requests. By default, fields with 12688 // empty or default values are omitted from API requests. However, any 12689 // non-pointer, non-interface field appearing in ForceSendFields will be 12690 // sent to the server regardless of whether the field is empty or not. 12691 // This may be used to include empty fields in Patch requests. 12692 ForceSendFields []string `json:"-"` 12693 12694 // NullFields is a list of field names (e.g. "BoundingPolys") to include 12695 // in API requests with the JSON null value. By default, fields with 12696 // empty values are omitted from API requests. However, any field with 12697 // an empty value appearing in NullFields will be sent to the server as 12698 // null. It is an error if a field in this list has a non-empty value. 12699 // This may be used to include null fields in Patch requests. 12700 NullFields []string `json:"-"` 12701} 12702 12703func (s *ReferenceImage) MarshalJSON() ([]byte, error) { 12704 type NoMethod ReferenceImage 12705 raw := NoMethod(*s) 12706 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12707} 12708 12709// Result: Information about a product. 12710type Result struct { 12711 // Image: The resource name of the image from the product that is the 12712 // closest match to the query. 12713 Image string `json:"image,omitempty"` 12714 12715 // Product: The Product. 12716 Product *Product `json:"product,omitempty"` 12717 12718 // Score: A confidence level on the match, ranging from 0 (no 12719 // confidence) to 1 (full confidence). 12720 Score float64 `json:"score,omitempty"` 12721 12722 // ForceSendFields is a list of field names (e.g. "Image") to 12723 // unconditionally include in API requests. By default, fields with 12724 // empty or default values are omitted from API requests. However, any 12725 // non-pointer, non-interface field appearing in ForceSendFields will be 12726 // sent to the server regardless of whether the field is empty or not. 12727 // This may be used to include empty fields in Patch requests. 12728 ForceSendFields []string `json:"-"` 12729 12730 // NullFields is a list of field names (e.g. "Image") to include in API 12731 // requests with the JSON null value. By default, fields with empty 12732 // values are omitted from API requests. However, any field with an 12733 // empty value appearing in NullFields will be sent to the server as 12734 // null. It is an error if a field in this list has a non-empty value. 12735 // This may be used to include null fields in Patch requests. 12736 NullFields []string `json:"-"` 12737} 12738 12739func (s *Result) MarshalJSON() ([]byte, error) { 12740 type NoMethod Result 12741 raw := NoMethod(*s) 12742 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12743} 12744 12745func (s *Result) UnmarshalJSON(data []byte) error { 12746 type NoMethod Result 12747 var s1 struct { 12748 Score gensupport.JSONFloat64 `json:"score"` 12749 *NoMethod 12750 } 12751 s1.NoMethod = (*NoMethod)(s) 12752 if err := json.Unmarshal(data, &s1); err != nil { 12753 return err 12754 } 12755 s.Score = float64(s1.Score) 12756 return nil 12757} 12758 12759// SafeSearchAnnotation: Set of features pertaining to the image, 12760// computed by computer vision methods over safe-search verticals (for 12761// example, adult, spoof, medical, violence). 12762type SafeSearchAnnotation struct { 12763 // Adult: Represents the adult content likelihood for the image. Adult 12764 // content may contain elements such as nudity, pornographic images or 12765 // cartoons, or sexual activities. 12766 // 12767 // Possible values: 12768 // "UNKNOWN" - Unknown likelihood. 12769 // "VERY_UNLIKELY" - It is very unlikely. 12770 // "UNLIKELY" - It is unlikely. 12771 // "POSSIBLE" - It is possible. 12772 // "LIKELY" - It is likely. 12773 // "VERY_LIKELY" - It is very likely. 12774 Adult string `json:"adult,omitempty"` 12775 12776 // Medical: Likelihood that this is a medical image. 12777 // 12778 // Possible values: 12779 // "UNKNOWN" - Unknown likelihood. 12780 // "VERY_UNLIKELY" - It is very unlikely. 12781 // "UNLIKELY" - It is unlikely. 12782 // "POSSIBLE" - It is possible. 12783 // "LIKELY" - It is likely. 12784 // "VERY_LIKELY" - It is very likely. 12785 Medical string `json:"medical,omitempty"` 12786 12787 // Racy: Likelihood that the request image contains racy content. Racy 12788 // content may include (but is not limited to) skimpy or sheer clothing, 12789 // strategically covered nudity, lewd or provocative poses, or close-ups 12790 // of sensitive body areas. 12791 // 12792 // Possible values: 12793 // "UNKNOWN" - Unknown likelihood. 12794 // "VERY_UNLIKELY" - It is very unlikely. 12795 // "UNLIKELY" - It is unlikely. 12796 // "POSSIBLE" - It is possible. 12797 // "LIKELY" - It is likely. 12798 // "VERY_LIKELY" - It is very likely. 12799 Racy string `json:"racy,omitempty"` 12800 12801 // Spoof: Spoof likelihood. The likelihood that an modification was made 12802 // to the image's canonical version to make it appear funny or 12803 // offensive. 12804 // 12805 // Possible values: 12806 // "UNKNOWN" - Unknown likelihood. 12807 // "VERY_UNLIKELY" - It is very unlikely. 12808 // "UNLIKELY" - It is unlikely. 12809 // "POSSIBLE" - It is possible. 12810 // "LIKELY" - It is likely. 12811 // "VERY_LIKELY" - It is very likely. 12812 Spoof string `json:"spoof,omitempty"` 12813 12814 // Violence: Likelihood that this image contains violent content. 12815 // 12816 // Possible values: 12817 // "UNKNOWN" - Unknown likelihood. 12818 // "VERY_UNLIKELY" - It is very unlikely. 12819 // "UNLIKELY" - It is unlikely. 12820 // "POSSIBLE" - It is possible. 12821 // "LIKELY" - It is likely. 12822 // "VERY_LIKELY" - It is very likely. 12823 Violence string `json:"violence,omitempty"` 12824 12825 // ForceSendFields is a list of field names (e.g. "Adult") to 12826 // unconditionally include in API requests. By default, fields with 12827 // empty or default values are omitted from API requests. However, any 12828 // non-pointer, non-interface field appearing in ForceSendFields will be 12829 // sent to the server regardless of whether the field is empty or not. 12830 // This may be used to include empty fields in Patch requests. 12831 ForceSendFields []string `json:"-"` 12832 12833 // NullFields is a list of field names (e.g. "Adult") to include in API 12834 // requests with the JSON null value. By default, fields with empty 12835 // values are omitted from API requests. However, any field with an 12836 // empty value appearing in NullFields will be sent to the server as 12837 // null. It is an error if a field in this list has a non-empty value. 12838 // This may be used to include null fields in Patch requests. 12839 NullFields []string `json:"-"` 12840} 12841 12842func (s *SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 12843 type NoMethod SafeSearchAnnotation 12844 raw := NoMethod(*s) 12845 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12846} 12847 12848// Status: The `Status` type defines a logical error model that is 12849// suitable for different programming environments, including REST APIs 12850// and RPC APIs. It is used by gRPC (https://github.com/grpc). Each 12851// `Status` message contains three pieces of data: error code, error 12852// message, and error details. You can find out more about this error 12853// model and how to work with it in the API Design Guide 12854// (https://cloud.google.com/apis/design/errors). 12855type Status struct { 12856 // Code: The status code, which should be an enum value of 12857 // google.rpc.Code. 12858 Code int64 `json:"code,omitempty"` 12859 12860 // Details: A list of messages that carry the error details. There is a 12861 // common set of message types for APIs to use. 12862 Details []googleapi.RawMessage `json:"details,omitempty"` 12863 12864 // Message: A developer-facing error message, which should be in 12865 // English. Any user-facing error message should be localized and sent 12866 // in the google.rpc.Status.details field, or localized by the client. 12867 Message string `json:"message,omitempty"` 12868 12869 // ForceSendFields is a list of field names (e.g. "Code") to 12870 // unconditionally include in API requests. By default, fields with 12871 // empty or default values are omitted from API requests. However, any 12872 // non-pointer, non-interface field appearing in ForceSendFields will be 12873 // sent to the server regardless of whether the field is empty or not. 12874 // This may be used to include empty fields in Patch requests. 12875 ForceSendFields []string `json:"-"` 12876 12877 // NullFields is a list of field names (e.g. "Code") to include in API 12878 // requests with the JSON null value. By default, fields with empty 12879 // values are omitted from API requests. However, any field with an 12880 // empty value appearing in NullFields will be sent to the server as 12881 // null. It is an error if a field in this list has a non-empty value. 12882 // This may be used to include null fields in Patch requests. 12883 NullFields []string `json:"-"` 12884} 12885 12886func (s *Status) MarshalJSON() ([]byte, error) { 12887 type NoMethod Status 12888 raw := NoMethod(*s) 12889 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12890} 12891 12892// Symbol: A single symbol representation. 12893type Symbol struct { 12894 // BoundingBox: The bounding box for the symbol. The vertices are in the 12895 // order of top-left, top-right, bottom-right, bottom-left. When a 12896 // rotation of the bounding box is detected the rotation is represented 12897 // as around the top-left corner as defined when the text is read in the 12898 // 'natural' orientation. For example: * when the text is horizontal it 12899 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 12900 // around the top-left corner it becomes: 2----3 | | 1----0 and the 12901 // vertex order will still be (0, 1, 2, 3). 12902 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 12903 12904 // Confidence: Confidence of the OCR results for the symbol. Range [0, 12905 // 1]. 12906 Confidence float64 `json:"confidence,omitempty"` 12907 12908 // Property: Additional information detected for the symbol. 12909 Property *TextProperty `json:"property,omitempty"` 12910 12911 // Text: The actual UTF-8 representation of the symbol. 12912 Text string `json:"text,omitempty"` 12913 12914 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 12915 // unconditionally include in API requests. By default, fields with 12916 // empty or default values are omitted from API requests. However, any 12917 // non-pointer, non-interface field appearing in ForceSendFields will be 12918 // sent to the server regardless of whether the field is empty or not. 12919 // This may be used to include empty fields in Patch requests. 12920 ForceSendFields []string `json:"-"` 12921 12922 // NullFields is a list of field names (e.g. "BoundingBox") to include 12923 // in API requests with the JSON null value. By default, fields with 12924 // empty values are omitted from API requests. However, any field with 12925 // an empty value appearing in NullFields will be sent to the server as 12926 // null. It is an error if a field in this list has a non-empty value. 12927 // This may be used to include null fields in Patch requests. 12928 NullFields []string `json:"-"` 12929} 12930 12931func (s *Symbol) MarshalJSON() ([]byte, error) { 12932 type NoMethod Symbol 12933 raw := NoMethod(*s) 12934 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12935} 12936 12937func (s *Symbol) UnmarshalJSON(data []byte) error { 12938 type NoMethod Symbol 12939 var s1 struct { 12940 Confidence gensupport.JSONFloat64 `json:"confidence"` 12941 *NoMethod 12942 } 12943 s1.NoMethod = (*NoMethod)(s) 12944 if err := json.Unmarshal(data, &s1); err != nil { 12945 return err 12946 } 12947 s.Confidence = float64(s1.Confidence) 12948 return nil 12949} 12950 12951// TextAnnotation: TextAnnotation contains a structured representation 12952// of OCR extracted text. The hierarchy of an OCR extracted text 12953// structure is like this: TextAnnotation -> Page -> Block -> Paragraph 12954// -> Word -> Symbol Each structural component, starting from Page, may 12955// further have their own properties. Properties describe detected 12956// languages, breaks etc.. Please refer to the 12957// TextAnnotation.TextProperty message definition below for more detail. 12958type TextAnnotation struct { 12959 // Pages: List of pages detected by OCR. 12960 Pages []*Page `json:"pages,omitempty"` 12961 12962 // Text: UTF-8 text detected on the pages. 12963 Text string `json:"text,omitempty"` 12964 12965 // ForceSendFields is a list of field names (e.g. "Pages") to 12966 // unconditionally include in API requests. By default, fields with 12967 // empty or default values are omitted from API requests. However, any 12968 // non-pointer, non-interface field appearing in ForceSendFields will be 12969 // sent to the server regardless of whether the field is empty or not. 12970 // This may be used to include empty fields in Patch requests. 12971 ForceSendFields []string `json:"-"` 12972 12973 // NullFields is a list of field names (e.g. "Pages") to include in API 12974 // requests with the JSON null value. By default, fields with empty 12975 // values are omitted from API requests. However, any field with an 12976 // empty value appearing in NullFields will be sent to the server as 12977 // null. It is an error if a field in this list has a non-empty value. 12978 // This may be used to include null fields in Patch requests. 12979 NullFields []string `json:"-"` 12980} 12981 12982func (s *TextAnnotation) MarshalJSON() ([]byte, error) { 12983 type NoMethod TextAnnotation 12984 raw := NoMethod(*s) 12985 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12986} 12987 12988// TextProperty: Additional information detected on the structural 12989// component. 12990type TextProperty struct { 12991 // DetectedBreak: Detected start or end of a text segment. 12992 DetectedBreak *DetectedBreak `json:"detectedBreak,omitempty"` 12993 12994 // DetectedLanguages: A list of detected languages together with 12995 // confidence. 12996 DetectedLanguages []*DetectedLanguage `json:"detectedLanguages,omitempty"` 12997 12998 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 12999 // unconditionally include in API requests. By default, fields with 13000 // empty or default values are omitted from API requests. However, any 13001 // non-pointer, non-interface field appearing in ForceSendFields will be 13002 // sent to the server regardless of whether the field is empty or not. 13003 // This may be used to include empty fields in Patch requests. 13004 ForceSendFields []string `json:"-"` 13005 13006 // NullFields is a list of field names (e.g. "DetectedBreak") to include 13007 // in API requests with the JSON null value. By default, fields with 13008 // empty values are omitted from API requests. However, any field with 13009 // an empty value appearing in NullFields will be sent to the server as 13010 // null. It is an error if a field in this list has a non-empty value. 13011 // This may be used to include null fields in Patch requests. 13012 NullFields []string `json:"-"` 13013} 13014 13015func (s *TextProperty) MarshalJSON() ([]byte, error) { 13016 type NoMethod TextProperty 13017 raw := NoMethod(*s) 13018 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13019} 13020 13021// Vertex: A vertex represents a 2D point in the image. NOTE: the vertex 13022// coordinates are in the same scale as the original image. 13023type Vertex struct { 13024 // X: X coordinate. 13025 X int64 `json:"x,omitempty"` 13026 13027 // Y: Y coordinate. 13028 Y int64 `json:"y,omitempty"` 13029 13030 // ForceSendFields is a list of field names (e.g. "X") to 13031 // unconditionally include in API requests. By default, fields with 13032 // empty or default values are omitted from API requests. However, any 13033 // non-pointer, non-interface field appearing in ForceSendFields will be 13034 // sent to the server regardless of whether the field is empty or not. 13035 // This may be used to include empty fields in Patch requests. 13036 ForceSendFields []string `json:"-"` 13037 13038 // NullFields is a list of field names (e.g. "X") to include in API 13039 // requests with the JSON null value. By default, fields with empty 13040 // values are omitted from API requests. However, any field with an 13041 // empty value appearing in NullFields will be sent to the server as 13042 // null. It is an error if a field in this list has a non-empty value. 13043 // This may be used to include null fields in Patch requests. 13044 NullFields []string `json:"-"` 13045} 13046 13047func (s *Vertex) MarshalJSON() ([]byte, error) { 13048 type NoMethod Vertex 13049 raw := NoMethod(*s) 13050 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13051} 13052 13053// WebDetection: Relevant information for the image from the Internet. 13054type WebDetection struct { 13055 // BestGuessLabels: The service's best guess as to the topic of the 13056 // request image. Inferred from similar images on the open web. 13057 BestGuessLabels []*WebLabel `json:"bestGuessLabels,omitempty"` 13058 13059 // FullMatchingImages: Fully matching images from the Internet. Can 13060 // include resized copies of the query image. 13061 FullMatchingImages []*WebImage `json:"fullMatchingImages,omitempty"` 13062 13063 // PagesWithMatchingImages: Web pages containing the matching images 13064 // from the Internet. 13065 PagesWithMatchingImages []*WebPage `json:"pagesWithMatchingImages,omitempty"` 13066 13067 // PartialMatchingImages: Partial matching images from the Internet. 13068 // Those images are similar enough to share some key-point features. For 13069 // example an original image will likely have partial matching for its 13070 // crops. 13071 PartialMatchingImages []*WebImage `json:"partialMatchingImages,omitempty"` 13072 13073 // VisuallySimilarImages: The visually similar image results. 13074 VisuallySimilarImages []*WebImage `json:"visuallySimilarImages,omitempty"` 13075 13076 // WebEntities: Deduced entities from similar images on the Internet. 13077 WebEntities []*WebEntity `json:"webEntities,omitempty"` 13078 13079 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 13080 // unconditionally include in API requests. By default, fields with 13081 // empty or default values are omitted from API requests. However, any 13082 // non-pointer, non-interface field appearing in ForceSendFields will be 13083 // sent to the server regardless of whether the field is empty or not. 13084 // This may be used to include empty fields in Patch requests. 13085 ForceSendFields []string `json:"-"` 13086 13087 // NullFields is a list of field names (e.g. "BestGuessLabels") to 13088 // include in API requests with the JSON null value. By default, fields 13089 // with empty values are omitted from API requests. However, any field 13090 // with an empty value appearing in NullFields will be sent to the 13091 // server as null. It is an error if a field in this list has a 13092 // non-empty value. This may be used to include null fields in Patch 13093 // requests. 13094 NullFields []string `json:"-"` 13095} 13096 13097func (s *WebDetection) MarshalJSON() ([]byte, error) { 13098 type NoMethod WebDetection 13099 raw := NoMethod(*s) 13100 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13101} 13102 13103// WebEntity: Entity deduced from similar images on the Internet. 13104type WebEntity struct { 13105 // Description: Canonical description of the entity, in English. 13106 Description string `json:"description,omitempty"` 13107 13108 // EntityId: Opaque entity ID. 13109 EntityId string `json:"entityId,omitempty"` 13110 13111 // Score: Overall relevancy score for the entity. Not normalized and not 13112 // comparable across different image queries. 13113 Score float64 `json:"score,omitempty"` 13114 13115 // ForceSendFields is a list of field names (e.g. "Description") to 13116 // unconditionally include in API requests. By default, fields with 13117 // empty or default values are omitted from API requests. However, any 13118 // non-pointer, non-interface field appearing in ForceSendFields will be 13119 // sent to the server regardless of whether the field is empty or not. 13120 // This may be used to include empty fields in Patch requests. 13121 ForceSendFields []string `json:"-"` 13122 13123 // NullFields is a list of field names (e.g. "Description") to include 13124 // in API requests with the JSON null value. By default, fields with 13125 // empty values are omitted from API requests. However, any field with 13126 // an empty value appearing in NullFields will be sent to the server as 13127 // null. It is an error if a field in this list has a non-empty value. 13128 // This may be used to include null fields in Patch requests. 13129 NullFields []string `json:"-"` 13130} 13131 13132func (s *WebEntity) MarshalJSON() ([]byte, error) { 13133 type NoMethod WebEntity 13134 raw := NoMethod(*s) 13135 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13136} 13137 13138func (s *WebEntity) UnmarshalJSON(data []byte) error { 13139 type NoMethod WebEntity 13140 var s1 struct { 13141 Score gensupport.JSONFloat64 `json:"score"` 13142 *NoMethod 13143 } 13144 s1.NoMethod = (*NoMethod)(s) 13145 if err := json.Unmarshal(data, &s1); err != nil { 13146 return err 13147 } 13148 s.Score = float64(s1.Score) 13149 return nil 13150} 13151 13152// WebImage: Metadata for online images. 13153type WebImage struct { 13154 // Score: (Deprecated) Overall relevancy score for the image. 13155 Score float64 `json:"score,omitempty"` 13156 13157 // Url: The result image URL. 13158 Url string `json:"url,omitempty"` 13159 13160 // ForceSendFields is a list of field names (e.g. "Score") to 13161 // unconditionally include in API requests. By default, fields with 13162 // empty or default values are omitted from API requests. However, any 13163 // non-pointer, non-interface field appearing in ForceSendFields will be 13164 // sent to the server regardless of whether the field is empty or not. 13165 // This may be used to include empty fields in Patch requests. 13166 ForceSendFields []string `json:"-"` 13167 13168 // NullFields is a list of field names (e.g. "Score") to include in API 13169 // requests with the JSON null value. By default, fields with empty 13170 // values are omitted from API requests. However, any field with an 13171 // empty value appearing in NullFields will be sent to the server as 13172 // null. It is an error if a field in this list has a non-empty value. 13173 // This may be used to include null fields in Patch requests. 13174 NullFields []string `json:"-"` 13175} 13176 13177func (s *WebImage) MarshalJSON() ([]byte, error) { 13178 type NoMethod WebImage 13179 raw := NoMethod(*s) 13180 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13181} 13182 13183func (s *WebImage) UnmarshalJSON(data []byte) error { 13184 type NoMethod WebImage 13185 var s1 struct { 13186 Score gensupport.JSONFloat64 `json:"score"` 13187 *NoMethod 13188 } 13189 s1.NoMethod = (*NoMethod)(s) 13190 if err := json.Unmarshal(data, &s1); err != nil { 13191 return err 13192 } 13193 s.Score = float64(s1.Score) 13194 return nil 13195} 13196 13197// WebLabel: Label to provide extra metadata for the web detection. 13198type WebLabel struct { 13199 // Label: Label for extra metadata. 13200 Label string `json:"label,omitempty"` 13201 13202 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 13203 // or "sr-Latn". For more information, see 13204 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 13205 LanguageCode string `json:"languageCode,omitempty"` 13206 13207 // ForceSendFields is a list of field names (e.g. "Label") to 13208 // unconditionally include in API requests. By default, fields with 13209 // empty or default values are omitted from API requests. However, any 13210 // non-pointer, non-interface field appearing in ForceSendFields will be 13211 // sent to the server regardless of whether the field is empty or not. 13212 // This may be used to include empty fields in Patch requests. 13213 ForceSendFields []string `json:"-"` 13214 13215 // NullFields is a list of field names (e.g. "Label") to include in API 13216 // requests with the JSON null value. By default, fields with empty 13217 // values are omitted from API requests. However, any field with an 13218 // empty value appearing in NullFields will be sent to the server as 13219 // null. It is an error if a field in this list has a non-empty value. 13220 // This may be used to include null fields in Patch requests. 13221 NullFields []string `json:"-"` 13222} 13223 13224func (s *WebLabel) MarshalJSON() ([]byte, error) { 13225 type NoMethod WebLabel 13226 raw := NoMethod(*s) 13227 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13228} 13229 13230// WebPage: Metadata for web pages. 13231type WebPage struct { 13232 // FullMatchingImages: Fully matching images on the page. Can include 13233 // resized copies of the query image. 13234 FullMatchingImages []*WebImage `json:"fullMatchingImages,omitempty"` 13235 13236 // PageTitle: Title for the web page, may contain HTML markups. 13237 PageTitle string `json:"pageTitle,omitempty"` 13238 13239 // PartialMatchingImages: Partial matching images on the page. Those 13240 // images are similar enough to share some key-point features. For 13241 // example an original image will likely have partial matching for its 13242 // crops. 13243 PartialMatchingImages []*WebImage `json:"partialMatchingImages,omitempty"` 13244 13245 // Score: (Deprecated) Overall relevancy score for the web page. 13246 Score float64 `json:"score,omitempty"` 13247 13248 // Url: The result web page URL. 13249 Url string `json:"url,omitempty"` 13250 13251 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 13252 // to unconditionally include in API requests. By default, fields with 13253 // empty or default values are omitted from API requests. However, any 13254 // non-pointer, non-interface field appearing in ForceSendFields will be 13255 // sent to the server regardless of whether the field is empty or not. 13256 // This may be used to include empty fields in Patch requests. 13257 ForceSendFields []string `json:"-"` 13258 13259 // NullFields is a list of field names (e.g. "FullMatchingImages") to 13260 // include in API requests with the JSON null value. By default, fields 13261 // with empty values are omitted from API requests. However, any field 13262 // with an empty value appearing in NullFields will be sent to the 13263 // server as null. It is an error if a field in this list has a 13264 // non-empty value. This may be used to include null fields in Patch 13265 // requests. 13266 NullFields []string `json:"-"` 13267} 13268 13269func (s *WebPage) MarshalJSON() ([]byte, error) { 13270 type NoMethod WebPage 13271 raw := NoMethod(*s) 13272 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13273} 13274 13275func (s *WebPage) UnmarshalJSON(data []byte) error { 13276 type NoMethod WebPage 13277 var s1 struct { 13278 Score gensupport.JSONFloat64 `json:"score"` 13279 *NoMethod 13280 } 13281 s1.NoMethod = (*NoMethod)(s) 13282 if err := json.Unmarshal(data, &s1); err != nil { 13283 return err 13284 } 13285 s.Score = float64(s1.Score) 13286 return nil 13287} 13288 13289// Word: A word representation. 13290type Word struct { 13291 // BoundingBox: The bounding box for the word. The vertices are in the 13292 // order of top-left, top-right, bottom-right, bottom-left. When a 13293 // rotation of the bounding box is detected the rotation is represented 13294 // as around the top-left corner as defined when the text is read in the 13295 // 'natural' orientation. For example: * when the text is horizontal it 13296 // might look like: 0----1 | | 3----2 * when it's rotated 180 degrees 13297 // around the top-left corner it becomes: 2----3 | | 1----0 and the 13298 // vertex order will still be (0, 1, 2, 3). 13299 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 13300 13301 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 13302 Confidence float64 `json:"confidence,omitempty"` 13303 13304 // Property: Additional information detected for the word. 13305 Property *TextProperty `json:"property,omitempty"` 13306 13307 // Symbols: List of symbols in the word. The order of the symbols 13308 // follows the natural reading order. 13309 Symbols []*Symbol `json:"symbols,omitempty"` 13310 13311 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 13312 // unconditionally include in API requests. By default, fields with 13313 // empty or default values are omitted from API requests. However, any 13314 // non-pointer, non-interface field appearing in ForceSendFields will be 13315 // sent to the server regardless of whether the field is empty or not. 13316 // This may be used to include empty fields in Patch requests. 13317 ForceSendFields []string `json:"-"` 13318 13319 // NullFields is a list of field names (e.g. "BoundingBox") to include 13320 // in API requests with the JSON null value. By default, fields with 13321 // empty values are omitted from API requests. However, any field with 13322 // an empty value appearing in NullFields will be sent to the server as 13323 // null. It is an error if a field in this list has a non-empty value. 13324 // This may be used to include null fields in Patch requests. 13325 NullFields []string `json:"-"` 13326} 13327 13328func (s *Word) MarshalJSON() ([]byte, error) { 13329 type NoMethod Word 13330 raw := NoMethod(*s) 13331 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13332} 13333 13334func (s *Word) UnmarshalJSON(data []byte) error { 13335 type NoMethod Word 13336 var s1 struct { 13337 Confidence gensupport.JSONFloat64 `json:"confidence"` 13338 *NoMethod 13339 } 13340 s1.NoMethod = (*NoMethod)(s) 13341 if err := json.Unmarshal(data, &s1); err != nil { 13342 return err 13343 } 13344 s.Confidence = float64(s1.Confidence) 13345 return nil 13346} 13347 13348// method id "vision.files.annotate": 13349 13350type FilesAnnotateCall struct { 13351 s *Service 13352 googlecloudvisionv1p2beta1batchannotatefilesrequest *GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest 13353 urlParams_ gensupport.URLParams 13354 ctx_ context.Context 13355 header_ http.Header 13356} 13357 13358// Annotate: Service that performs image detection and annotation for a 13359// batch of files. Now only "application/pdf", "image/tiff" and 13360// "image/gif" are supported. This service will extract at most 5 13361// (customers can specify which 5 in AnnotateFileRequest.pages) frames 13362// (gif) or pages (pdf or tiff) from each file provided and perform 13363// detection and annotation for each image extracted. 13364func (r *FilesService) Annotate(googlecloudvisionv1p2beta1batchannotatefilesrequest *GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest) *FilesAnnotateCall { 13365 c := &FilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 13366 c.googlecloudvisionv1p2beta1batchannotatefilesrequest = googlecloudvisionv1p2beta1batchannotatefilesrequest 13367 return c 13368} 13369 13370// Fields allows partial responses to be retrieved. See 13371// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 13372// for more information. 13373func (c *FilesAnnotateCall) Fields(s ...googleapi.Field) *FilesAnnotateCall { 13374 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 13375 return c 13376} 13377 13378// Context sets the context to be used in this call's Do method. Any 13379// pending HTTP request will be aborted if the provided context is 13380// canceled. 13381func (c *FilesAnnotateCall) Context(ctx context.Context) *FilesAnnotateCall { 13382 c.ctx_ = ctx 13383 return c 13384} 13385 13386// Header returns an http.Header that can be modified by the caller to 13387// add HTTP headers to the request. 13388func (c *FilesAnnotateCall) Header() http.Header { 13389 if c.header_ == nil { 13390 c.header_ = make(http.Header) 13391 } 13392 return c.header_ 13393} 13394 13395func (c *FilesAnnotateCall) doRequest(alt string) (*http.Response, error) { 13396 reqHeaders := make(http.Header) 13397 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201") 13398 for k, v := range c.header_ { 13399 reqHeaders[k] = v 13400 } 13401 reqHeaders.Set("User-Agent", c.s.userAgent()) 13402 var body io.Reader = nil 13403 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p2beta1batchannotatefilesrequest) 13404 if err != nil { 13405 return nil, err 13406 } 13407 reqHeaders.Set("Content-Type", "application/json") 13408 c.urlParams_.Set("alt", alt) 13409 c.urlParams_.Set("prettyPrint", "false") 13410 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p2beta1/files:annotate") 13411 urls += "?" + c.urlParams_.Encode() 13412 req, err := http.NewRequest("POST", urls, body) 13413 if err != nil { 13414 return nil, err 13415 } 13416 req.Header = reqHeaders 13417 return gensupport.SendRequest(c.ctx_, c.s.client, req) 13418} 13419 13420// Do executes the "vision.files.annotate" call. 13421// Exactly one of *GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse 13422// or error will be non-nil. Any non-2xx status code is an error. 13423// Response headers are in either 13424// *GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse.ServerResponse.H 13425// eader or (if a response was returned at all) in 13426// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 13427// whether the returned error was because http.StatusNotModified was 13428// returned. 13429func (c *FilesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse, error) { 13430 gensupport.SetOptions(c.urlParams_, opts...) 13431 res, err := c.doRequest("json") 13432 if res != nil && res.StatusCode == http.StatusNotModified { 13433 if res.Body != nil { 13434 res.Body.Close() 13435 } 13436 return nil, &googleapi.Error{ 13437 Code: res.StatusCode, 13438 Header: res.Header, 13439 } 13440 } 13441 if err != nil { 13442 return nil, err 13443 } 13444 defer googleapi.CloseBody(res) 13445 if err := googleapi.CheckResponse(res); err != nil { 13446 return nil, err 13447 } 13448 ret := &GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse{ 13449 ServerResponse: googleapi.ServerResponse{ 13450 Header: res.Header, 13451 HTTPStatusCode: res.StatusCode, 13452 }, 13453 } 13454 target := &ret 13455 if err := gensupport.DecodeResponse(target, res); err != nil { 13456 return nil, err 13457 } 13458 return ret, nil 13459 // { 13460 // "description": "Service that performs image detection and annotation for a batch of files. Now only \"application/pdf\", \"image/tiff\" and \"image/gif\" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted.", 13461 // "flatPath": "v1p2beta1/files:annotate", 13462 // "httpMethod": "POST", 13463 // "id": "vision.files.annotate", 13464 // "parameterOrder": [], 13465 // "parameters": {}, 13466 // "path": "v1p2beta1/files:annotate", 13467 // "request": { 13468 // "$ref": "GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest" 13469 // }, 13470 // "response": { 13471 // "$ref": "GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse" 13472 // }, 13473 // "scopes": [ 13474 // "https://www.googleapis.com/auth/cloud-platform", 13475 // "https://www.googleapis.com/auth/cloud-vision" 13476 // ] 13477 // } 13478 13479} 13480 13481// method id "vision.files.asyncBatchAnnotate": 13482 13483type FilesAsyncBatchAnnotateCall struct { 13484 s *Service 13485 googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest 13486 urlParams_ gensupport.URLParams 13487 ctx_ context.Context 13488 header_ http.Header 13489} 13490 13491// AsyncBatchAnnotate: Run asynchronous image detection and annotation 13492// for a list of generic files, such as PDF files, which may contain 13493// multiple pages and multiple images per page. Progress and results can 13494// be retrieved through the `google.longrunning.Operations` interface. 13495// `Operation.metadata` contains `OperationMetadata` (metadata). 13496// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` 13497// (results). 13498func (r *FilesService) AsyncBatchAnnotate(googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest) *FilesAsyncBatchAnnotateCall { 13499 c := &FilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 13500 c.googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest = googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest 13501 return c 13502} 13503 13504// Fields allows partial responses to be retrieved. See 13505// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 13506// for more information. 13507func (c *FilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *FilesAsyncBatchAnnotateCall { 13508 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 13509 return c 13510} 13511 13512// Context sets the context to be used in this call's Do method. Any 13513// pending HTTP request will be aborted if the provided context is 13514// canceled. 13515func (c *FilesAsyncBatchAnnotateCall) Context(ctx context.Context) *FilesAsyncBatchAnnotateCall { 13516 c.ctx_ = ctx 13517 return c 13518} 13519 13520// Header returns an http.Header that can be modified by the caller to 13521// add HTTP headers to the request. 13522func (c *FilesAsyncBatchAnnotateCall) Header() http.Header { 13523 if c.header_ == nil { 13524 c.header_ = make(http.Header) 13525 } 13526 return c.header_ 13527} 13528 13529func (c *FilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 13530 reqHeaders := make(http.Header) 13531 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201") 13532 for k, v := range c.header_ { 13533 reqHeaders[k] = v 13534 } 13535 reqHeaders.Set("User-Agent", c.s.userAgent()) 13536 var body io.Reader = nil 13537 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest) 13538 if err != nil { 13539 return nil, err 13540 } 13541 reqHeaders.Set("Content-Type", "application/json") 13542 c.urlParams_.Set("alt", alt) 13543 c.urlParams_.Set("prettyPrint", "false") 13544 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p2beta1/files:asyncBatchAnnotate") 13545 urls += "?" + c.urlParams_.Encode() 13546 req, err := http.NewRequest("POST", urls, body) 13547 if err != nil { 13548 return nil, err 13549 } 13550 req.Header = reqHeaders 13551 return gensupport.SendRequest(c.ctx_, c.s.client, req) 13552} 13553 13554// Do executes the "vision.files.asyncBatchAnnotate" call. 13555// Exactly one of *Operation or error will be non-nil. Any non-2xx 13556// status code is an error. Response headers are in either 13557// *Operation.ServerResponse.Header or (if a response was returned at 13558// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 13559// to check whether the returned error was because 13560// http.StatusNotModified was returned. 13561func (c *FilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 13562 gensupport.SetOptions(c.urlParams_, opts...) 13563 res, err := c.doRequest("json") 13564 if res != nil && res.StatusCode == http.StatusNotModified { 13565 if res.Body != nil { 13566 res.Body.Close() 13567 } 13568 return nil, &googleapi.Error{ 13569 Code: res.StatusCode, 13570 Header: res.Header, 13571 } 13572 } 13573 if err != nil { 13574 return nil, err 13575 } 13576 defer googleapi.CloseBody(res) 13577 if err := googleapi.CheckResponse(res); err != nil { 13578 return nil, err 13579 } 13580 ret := &Operation{ 13581 ServerResponse: googleapi.ServerResponse{ 13582 Header: res.Header, 13583 HTTPStatusCode: res.StatusCode, 13584 }, 13585 } 13586 target := &ret 13587 if err := gensupport.DecodeResponse(target, res); err != nil { 13588 return nil, err 13589 } 13590 return ret, nil 13591 // { 13592 // "description": "Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", 13593 // "flatPath": "v1p2beta1/files:asyncBatchAnnotate", 13594 // "httpMethod": "POST", 13595 // "id": "vision.files.asyncBatchAnnotate", 13596 // "parameterOrder": [], 13597 // "parameters": {}, 13598 // "path": "v1p2beta1/files:asyncBatchAnnotate", 13599 // "request": { 13600 // "$ref": "GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest" 13601 // }, 13602 // "response": { 13603 // "$ref": "Operation" 13604 // }, 13605 // "scopes": [ 13606 // "https://www.googleapis.com/auth/cloud-platform", 13607 // "https://www.googleapis.com/auth/cloud-vision" 13608 // ] 13609 // } 13610 13611} 13612 13613// method id "vision.images.annotate": 13614 13615type ImagesAnnotateCall struct { 13616 s *Service 13617 googlecloudvisionv1p2beta1batchannotateimagesrequest *GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest 13618 urlParams_ gensupport.URLParams 13619 ctx_ context.Context 13620 header_ http.Header 13621} 13622 13623// Annotate: Run image detection and annotation for a batch of images. 13624func (r *ImagesService) Annotate(googlecloudvisionv1p2beta1batchannotateimagesrequest *GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest) *ImagesAnnotateCall { 13625 c := &ImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 13626 c.googlecloudvisionv1p2beta1batchannotateimagesrequest = googlecloudvisionv1p2beta1batchannotateimagesrequest 13627 return c 13628} 13629 13630// Fields allows partial responses to be retrieved. See 13631// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 13632// for more information. 13633func (c *ImagesAnnotateCall) Fields(s ...googleapi.Field) *ImagesAnnotateCall { 13634 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 13635 return c 13636} 13637 13638// Context sets the context to be used in this call's Do method. Any 13639// pending HTTP request will be aborted if the provided context is 13640// canceled. 13641func (c *ImagesAnnotateCall) Context(ctx context.Context) *ImagesAnnotateCall { 13642 c.ctx_ = ctx 13643 return c 13644} 13645 13646// Header returns an http.Header that can be modified by the caller to 13647// add HTTP headers to the request. 13648func (c *ImagesAnnotateCall) Header() http.Header { 13649 if c.header_ == nil { 13650 c.header_ = make(http.Header) 13651 } 13652 return c.header_ 13653} 13654 13655func (c *ImagesAnnotateCall) doRequest(alt string) (*http.Response, error) { 13656 reqHeaders := make(http.Header) 13657 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201") 13658 for k, v := range c.header_ { 13659 reqHeaders[k] = v 13660 } 13661 reqHeaders.Set("User-Agent", c.s.userAgent()) 13662 var body io.Reader = nil 13663 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p2beta1batchannotateimagesrequest) 13664 if err != nil { 13665 return nil, err 13666 } 13667 reqHeaders.Set("Content-Type", "application/json") 13668 c.urlParams_.Set("alt", alt) 13669 c.urlParams_.Set("prettyPrint", "false") 13670 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p2beta1/images:annotate") 13671 urls += "?" + c.urlParams_.Encode() 13672 req, err := http.NewRequest("POST", urls, body) 13673 if err != nil { 13674 return nil, err 13675 } 13676 req.Header = reqHeaders 13677 return gensupport.SendRequest(c.ctx_, c.s.client, req) 13678} 13679 13680// Do executes the "vision.images.annotate" call. 13681// Exactly one of *GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse 13682// or error will be non-nil. Any non-2xx status code is an error. 13683// Response headers are in either 13684// *GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse.ServerResponse. 13685// Header or (if a response was returned at all) in 13686// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 13687// whether the returned error was because http.StatusNotModified was 13688// returned. 13689func (c *ImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse, error) { 13690 gensupport.SetOptions(c.urlParams_, opts...) 13691 res, err := c.doRequest("json") 13692 if res != nil && res.StatusCode == http.StatusNotModified { 13693 if res.Body != nil { 13694 res.Body.Close() 13695 } 13696 return nil, &googleapi.Error{ 13697 Code: res.StatusCode, 13698 Header: res.Header, 13699 } 13700 } 13701 if err != nil { 13702 return nil, err 13703 } 13704 defer googleapi.CloseBody(res) 13705 if err := googleapi.CheckResponse(res); err != nil { 13706 return nil, err 13707 } 13708 ret := &GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse{ 13709 ServerResponse: googleapi.ServerResponse{ 13710 Header: res.Header, 13711 HTTPStatusCode: res.StatusCode, 13712 }, 13713 } 13714 target := &ret 13715 if err := gensupport.DecodeResponse(target, res); err != nil { 13716 return nil, err 13717 } 13718 return ret, nil 13719 // { 13720 // "description": "Run image detection and annotation for a batch of images.", 13721 // "flatPath": "v1p2beta1/images:annotate", 13722 // "httpMethod": "POST", 13723 // "id": "vision.images.annotate", 13724 // "parameterOrder": [], 13725 // "parameters": {}, 13726 // "path": "v1p2beta1/images:annotate", 13727 // "request": { 13728 // "$ref": "GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest" 13729 // }, 13730 // "response": { 13731 // "$ref": "GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse" 13732 // }, 13733 // "scopes": [ 13734 // "https://www.googleapis.com/auth/cloud-platform", 13735 // "https://www.googleapis.com/auth/cloud-vision" 13736 // ] 13737 // } 13738 13739} 13740 13741// method id "vision.images.asyncBatchAnnotate": 13742 13743type ImagesAsyncBatchAnnotateCall struct { 13744 s *Service 13745 googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest 13746 urlParams_ gensupport.URLParams 13747 ctx_ context.Context 13748 header_ http.Header 13749} 13750 13751// AsyncBatchAnnotate: Run asynchronous image detection and annotation 13752// for a list of images. Progress and results can be retrieved through 13753// the `google.longrunning.Operations` interface. `Operation.metadata` 13754// contains `OperationMetadata` (metadata). `Operation.response` 13755// contains `AsyncBatchAnnotateImagesResponse` (results). This service 13756// will write image annotation outputs to json files in customer GCS 13757// bucket, each json file containing BatchAnnotateImagesResponse proto. 13758func (r *ImagesService) AsyncBatchAnnotate(googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest) *ImagesAsyncBatchAnnotateCall { 13759 c := &ImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 13760 c.googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest = googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest 13761 return c 13762} 13763 13764// Fields allows partial responses to be retrieved. See 13765// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 13766// for more information. 13767func (c *ImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ImagesAsyncBatchAnnotateCall { 13768 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 13769 return c 13770} 13771 13772// Context sets the context to be used in this call's Do method. Any 13773// pending HTTP request will be aborted if the provided context is 13774// canceled. 13775func (c *ImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ImagesAsyncBatchAnnotateCall { 13776 c.ctx_ = ctx 13777 return c 13778} 13779 13780// Header returns an http.Header that can be modified by the caller to 13781// add HTTP headers to the request. 13782func (c *ImagesAsyncBatchAnnotateCall) Header() http.Header { 13783 if c.header_ == nil { 13784 c.header_ = make(http.Header) 13785 } 13786 return c.header_ 13787} 13788 13789func (c *ImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 13790 reqHeaders := make(http.Header) 13791 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201") 13792 for k, v := range c.header_ { 13793 reqHeaders[k] = v 13794 } 13795 reqHeaders.Set("User-Agent", c.s.userAgent()) 13796 var body io.Reader = nil 13797 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest) 13798 if err != nil { 13799 return nil, err 13800 } 13801 reqHeaders.Set("Content-Type", "application/json") 13802 c.urlParams_.Set("alt", alt) 13803 c.urlParams_.Set("prettyPrint", "false") 13804 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p2beta1/images:asyncBatchAnnotate") 13805 urls += "?" + c.urlParams_.Encode() 13806 req, err := http.NewRequest("POST", urls, body) 13807 if err != nil { 13808 return nil, err 13809 } 13810 req.Header = reqHeaders 13811 return gensupport.SendRequest(c.ctx_, c.s.client, req) 13812} 13813 13814// Do executes the "vision.images.asyncBatchAnnotate" call. 13815// Exactly one of *Operation or error will be non-nil. Any non-2xx 13816// status code is an error. Response headers are in either 13817// *Operation.ServerResponse.Header or (if a response was returned at 13818// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 13819// to check whether the returned error was because 13820// http.StatusNotModified was returned. 13821func (c *ImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 13822 gensupport.SetOptions(c.urlParams_, opts...) 13823 res, err := c.doRequest("json") 13824 if res != nil && res.StatusCode == http.StatusNotModified { 13825 if res.Body != nil { 13826 res.Body.Close() 13827 } 13828 return nil, &googleapi.Error{ 13829 Code: res.StatusCode, 13830 Header: res.Header, 13831 } 13832 } 13833 if err != nil { 13834 return nil, err 13835 } 13836 defer googleapi.CloseBody(res) 13837 if err := googleapi.CheckResponse(res); err != nil { 13838 return nil, err 13839 } 13840 ret := &Operation{ 13841 ServerResponse: googleapi.ServerResponse{ 13842 Header: res.Header, 13843 HTTPStatusCode: res.StatusCode, 13844 }, 13845 } 13846 target := &ret 13847 if err := gensupport.DecodeResponse(target, res); err != nil { 13848 return nil, err 13849 } 13850 return ret, nil 13851 // { 13852 // "description": "Run asynchronous image detection and annotation for a list of images. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). This service will write image annotation outputs to json files in customer GCS bucket, each json file containing BatchAnnotateImagesResponse proto.", 13853 // "flatPath": "v1p2beta1/images:asyncBatchAnnotate", 13854 // "httpMethod": "POST", 13855 // "id": "vision.images.asyncBatchAnnotate", 13856 // "parameterOrder": [], 13857 // "parameters": {}, 13858 // "path": "v1p2beta1/images:asyncBatchAnnotate", 13859 // "request": { 13860 // "$ref": "GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest" 13861 // }, 13862 // "response": { 13863 // "$ref": "Operation" 13864 // }, 13865 // "scopes": [ 13866 // "https://www.googleapis.com/auth/cloud-platform", 13867 // "https://www.googleapis.com/auth/cloud-vision" 13868 // ] 13869 // } 13870 13871} 13872 13873// method id "vision.projects.files.annotate": 13874 13875type ProjectsFilesAnnotateCall struct { 13876 s *Service 13877 parent string 13878 googlecloudvisionv1p2beta1batchannotatefilesrequest *GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest 13879 urlParams_ gensupport.URLParams 13880 ctx_ context.Context 13881 header_ http.Header 13882} 13883 13884// Annotate: Service that performs image detection and annotation for a 13885// batch of files. Now only "application/pdf", "image/tiff" and 13886// "image/gif" are supported. This service will extract at most 5 13887// (customers can specify which 5 in AnnotateFileRequest.pages) frames 13888// (gif) or pages (pdf or tiff) from each file provided and perform 13889// detection and annotation for each image extracted. 13890// 13891// - parent: Optional. Target project and location to make a call. 13892// Format: `projects/{project-id}/locations/{location-id}`. If no 13893// parent is specified, a region will be chosen automatically. 13894// Supported location-ids: `us`: USA country only, `asia`: East asia 13895// areas, like Japan, Taiwan, `eu`: The European Union. Example: 13896// `projects/project-A/locations/eu`. 13897func (r *ProjectsFilesService) Annotate(parent string, googlecloudvisionv1p2beta1batchannotatefilesrequest *GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest) *ProjectsFilesAnnotateCall { 13898 c := &ProjectsFilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 13899 c.parent = parent 13900 c.googlecloudvisionv1p2beta1batchannotatefilesrequest = googlecloudvisionv1p2beta1batchannotatefilesrequest 13901 return c 13902} 13903 13904// Fields allows partial responses to be retrieved. See 13905// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 13906// for more information. 13907func (c *ProjectsFilesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsFilesAnnotateCall { 13908 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 13909 return c 13910} 13911 13912// Context sets the context to be used in this call's Do method. Any 13913// pending HTTP request will be aborted if the provided context is 13914// canceled. 13915func (c *ProjectsFilesAnnotateCall) Context(ctx context.Context) *ProjectsFilesAnnotateCall { 13916 c.ctx_ = ctx 13917 return c 13918} 13919 13920// Header returns an http.Header that can be modified by the caller to 13921// add HTTP headers to the request. 13922func (c *ProjectsFilesAnnotateCall) Header() http.Header { 13923 if c.header_ == nil { 13924 c.header_ = make(http.Header) 13925 } 13926 return c.header_ 13927} 13928 13929func (c *ProjectsFilesAnnotateCall) doRequest(alt string) (*http.Response, error) { 13930 reqHeaders := make(http.Header) 13931 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201") 13932 for k, v := range c.header_ { 13933 reqHeaders[k] = v 13934 } 13935 reqHeaders.Set("User-Agent", c.s.userAgent()) 13936 var body io.Reader = nil 13937 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p2beta1batchannotatefilesrequest) 13938 if err != nil { 13939 return nil, err 13940 } 13941 reqHeaders.Set("Content-Type", "application/json") 13942 c.urlParams_.Set("alt", alt) 13943 c.urlParams_.Set("prettyPrint", "false") 13944 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p2beta1/{+parent}/files:annotate") 13945 urls += "?" + c.urlParams_.Encode() 13946 req, err := http.NewRequest("POST", urls, body) 13947 if err != nil { 13948 return nil, err 13949 } 13950 req.Header = reqHeaders 13951 googleapi.Expand(req.URL, map[string]string{ 13952 "parent": c.parent, 13953 }) 13954 return gensupport.SendRequest(c.ctx_, c.s.client, req) 13955} 13956 13957// Do executes the "vision.projects.files.annotate" call. 13958// Exactly one of *GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse 13959// or error will be non-nil. Any non-2xx status code is an error. 13960// Response headers are in either 13961// *GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse.ServerResponse.H 13962// eader or (if a response was returned at all) in 13963// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 13964// whether the returned error was because http.StatusNotModified was 13965// returned. 13966func (c *ProjectsFilesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse, error) { 13967 gensupport.SetOptions(c.urlParams_, opts...) 13968 res, err := c.doRequest("json") 13969 if res != nil && res.StatusCode == http.StatusNotModified { 13970 if res.Body != nil { 13971 res.Body.Close() 13972 } 13973 return nil, &googleapi.Error{ 13974 Code: res.StatusCode, 13975 Header: res.Header, 13976 } 13977 } 13978 if err != nil { 13979 return nil, err 13980 } 13981 defer googleapi.CloseBody(res) 13982 if err := googleapi.CheckResponse(res); err != nil { 13983 return nil, err 13984 } 13985 ret := &GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse{ 13986 ServerResponse: googleapi.ServerResponse{ 13987 Header: res.Header, 13988 HTTPStatusCode: res.StatusCode, 13989 }, 13990 } 13991 target := &ret 13992 if err := gensupport.DecodeResponse(target, res); err != nil { 13993 return nil, err 13994 } 13995 return ret, nil 13996 // { 13997 // "description": "Service that performs image detection and annotation for a batch of files. Now only \"application/pdf\", \"image/tiff\" and \"image/gif\" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted.", 13998 // "flatPath": "v1p2beta1/projects/{projectsId}/files:annotate", 13999 // "httpMethod": "POST", 14000 // "id": "vision.projects.files.annotate", 14001 // "parameterOrder": [ 14002 // "parent" 14003 // ], 14004 // "parameters": { 14005 // "parent": { 14006 // "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", 14007 // "location": "path", 14008 // "pattern": "^projects/[^/]+$", 14009 // "required": true, 14010 // "type": "string" 14011 // } 14012 // }, 14013 // "path": "v1p2beta1/{+parent}/files:annotate", 14014 // "request": { 14015 // "$ref": "GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest" 14016 // }, 14017 // "response": { 14018 // "$ref": "GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse" 14019 // }, 14020 // "scopes": [ 14021 // "https://www.googleapis.com/auth/cloud-platform", 14022 // "https://www.googleapis.com/auth/cloud-vision" 14023 // ] 14024 // } 14025 14026} 14027 14028// method id "vision.projects.files.asyncBatchAnnotate": 14029 14030type ProjectsFilesAsyncBatchAnnotateCall struct { 14031 s *Service 14032 parent string 14033 googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest 14034 urlParams_ gensupport.URLParams 14035 ctx_ context.Context 14036 header_ http.Header 14037} 14038 14039// AsyncBatchAnnotate: Run asynchronous image detection and annotation 14040// for a list of generic files, such as PDF files, which may contain 14041// multiple pages and multiple images per page. Progress and results can 14042// be retrieved through the `google.longrunning.Operations` interface. 14043// `Operation.metadata` contains `OperationMetadata` (metadata). 14044// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` 14045// (results). 14046// 14047// - parent: Optional. Target project and location to make a call. 14048// Format: `projects/{project-id}/locations/{location-id}`. If no 14049// parent is specified, a region will be chosen automatically. 14050// Supported location-ids: `us`: USA country only, `asia`: East asia 14051// areas, like Japan, Taiwan, `eu`: The European Union. Example: 14052// `projects/project-A/locations/eu`. 14053func (r *ProjectsFilesService) AsyncBatchAnnotate(parent string, googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest) *ProjectsFilesAsyncBatchAnnotateCall { 14054 c := &ProjectsFilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 14055 c.parent = parent 14056 c.googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest = googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest 14057 return c 14058} 14059 14060// Fields allows partial responses to be retrieved. See 14061// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 14062// for more information. 14063func (c *ProjectsFilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsFilesAsyncBatchAnnotateCall { 14064 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 14065 return c 14066} 14067 14068// Context sets the context to be used in this call's Do method. Any 14069// pending HTTP request will be aborted if the provided context is 14070// canceled. 14071func (c *ProjectsFilesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsFilesAsyncBatchAnnotateCall { 14072 c.ctx_ = ctx 14073 return c 14074} 14075 14076// Header returns an http.Header that can be modified by the caller to 14077// add HTTP headers to the request. 14078func (c *ProjectsFilesAsyncBatchAnnotateCall) Header() http.Header { 14079 if c.header_ == nil { 14080 c.header_ = make(http.Header) 14081 } 14082 return c.header_ 14083} 14084 14085func (c *ProjectsFilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 14086 reqHeaders := make(http.Header) 14087 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201") 14088 for k, v := range c.header_ { 14089 reqHeaders[k] = v 14090 } 14091 reqHeaders.Set("User-Agent", c.s.userAgent()) 14092 var body io.Reader = nil 14093 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest) 14094 if err != nil { 14095 return nil, err 14096 } 14097 reqHeaders.Set("Content-Type", "application/json") 14098 c.urlParams_.Set("alt", alt) 14099 c.urlParams_.Set("prettyPrint", "false") 14100 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p2beta1/{+parent}/files:asyncBatchAnnotate") 14101 urls += "?" + c.urlParams_.Encode() 14102 req, err := http.NewRequest("POST", urls, body) 14103 if err != nil { 14104 return nil, err 14105 } 14106 req.Header = reqHeaders 14107 googleapi.Expand(req.URL, map[string]string{ 14108 "parent": c.parent, 14109 }) 14110 return gensupport.SendRequest(c.ctx_, c.s.client, req) 14111} 14112 14113// Do executes the "vision.projects.files.asyncBatchAnnotate" call. 14114// Exactly one of *Operation or error will be non-nil. Any non-2xx 14115// status code is an error. Response headers are in either 14116// *Operation.ServerResponse.Header or (if a response was returned at 14117// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 14118// to check whether the returned error was because 14119// http.StatusNotModified was returned. 14120func (c *ProjectsFilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 14121 gensupport.SetOptions(c.urlParams_, opts...) 14122 res, err := c.doRequest("json") 14123 if res != nil && res.StatusCode == http.StatusNotModified { 14124 if res.Body != nil { 14125 res.Body.Close() 14126 } 14127 return nil, &googleapi.Error{ 14128 Code: res.StatusCode, 14129 Header: res.Header, 14130 } 14131 } 14132 if err != nil { 14133 return nil, err 14134 } 14135 defer googleapi.CloseBody(res) 14136 if err := googleapi.CheckResponse(res); err != nil { 14137 return nil, err 14138 } 14139 ret := &Operation{ 14140 ServerResponse: googleapi.ServerResponse{ 14141 Header: res.Header, 14142 HTTPStatusCode: res.StatusCode, 14143 }, 14144 } 14145 target := &ret 14146 if err := gensupport.DecodeResponse(target, res); err != nil { 14147 return nil, err 14148 } 14149 return ret, nil 14150 // { 14151 // "description": "Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", 14152 // "flatPath": "v1p2beta1/projects/{projectsId}/files:asyncBatchAnnotate", 14153 // "httpMethod": "POST", 14154 // "id": "vision.projects.files.asyncBatchAnnotate", 14155 // "parameterOrder": [ 14156 // "parent" 14157 // ], 14158 // "parameters": { 14159 // "parent": { 14160 // "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", 14161 // "location": "path", 14162 // "pattern": "^projects/[^/]+$", 14163 // "required": true, 14164 // "type": "string" 14165 // } 14166 // }, 14167 // "path": "v1p2beta1/{+parent}/files:asyncBatchAnnotate", 14168 // "request": { 14169 // "$ref": "GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest" 14170 // }, 14171 // "response": { 14172 // "$ref": "Operation" 14173 // }, 14174 // "scopes": [ 14175 // "https://www.googleapis.com/auth/cloud-platform", 14176 // "https://www.googleapis.com/auth/cloud-vision" 14177 // ] 14178 // } 14179 14180} 14181 14182// method id "vision.projects.images.annotate": 14183 14184type ProjectsImagesAnnotateCall struct { 14185 s *Service 14186 parent string 14187 googlecloudvisionv1p2beta1batchannotateimagesrequest *GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest 14188 urlParams_ gensupport.URLParams 14189 ctx_ context.Context 14190 header_ http.Header 14191} 14192 14193// Annotate: Run image detection and annotation for a batch of images. 14194// 14195// - parent: Optional. Target project and location to make a call. 14196// Format: `projects/{project-id}/locations/{location-id}`. If no 14197// parent is specified, a region will be chosen automatically. 14198// Supported location-ids: `us`: USA country only, `asia`: East asia 14199// areas, like Japan, Taiwan, `eu`: The European Union. Example: 14200// `projects/project-A/locations/eu`. 14201func (r *ProjectsImagesService) Annotate(parent string, googlecloudvisionv1p2beta1batchannotateimagesrequest *GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest) *ProjectsImagesAnnotateCall { 14202 c := &ProjectsImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 14203 c.parent = parent 14204 c.googlecloudvisionv1p2beta1batchannotateimagesrequest = googlecloudvisionv1p2beta1batchannotateimagesrequest 14205 return c 14206} 14207 14208// Fields allows partial responses to be retrieved. See 14209// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 14210// for more information. 14211func (c *ProjectsImagesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsImagesAnnotateCall { 14212 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 14213 return c 14214} 14215 14216// Context sets the context to be used in this call's Do method. Any 14217// pending HTTP request will be aborted if the provided context is 14218// canceled. 14219func (c *ProjectsImagesAnnotateCall) Context(ctx context.Context) *ProjectsImagesAnnotateCall { 14220 c.ctx_ = ctx 14221 return c 14222} 14223 14224// Header returns an http.Header that can be modified by the caller to 14225// add HTTP headers to the request. 14226func (c *ProjectsImagesAnnotateCall) Header() http.Header { 14227 if c.header_ == nil { 14228 c.header_ = make(http.Header) 14229 } 14230 return c.header_ 14231} 14232 14233func (c *ProjectsImagesAnnotateCall) doRequest(alt string) (*http.Response, error) { 14234 reqHeaders := make(http.Header) 14235 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201") 14236 for k, v := range c.header_ { 14237 reqHeaders[k] = v 14238 } 14239 reqHeaders.Set("User-Agent", c.s.userAgent()) 14240 var body io.Reader = nil 14241 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p2beta1batchannotateimagesrequest) 14242 if err != nil { 14243 return nil, err 14244 } 14245 reqHeaders.Set("Content-Type", "application/json") 14246 c.urlParams_.Set("alt", alt) 14247 c.urlParams_.Set("prettyPrint", "false") 14248 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p2beta1/{+parent}/images:annotate") 14249 urls += "?" + c.urlParams_.Encode() 14250 req, err := http.NewRequest("POST", urls, body) 14251 if err != nil { 14252 return nil, err 14253 } 14254 req.Header = reqHeaders 14255 googleapi.Expand(req.URL, map[string]string{ 14256 "parent": c.parent, 14257 }) 14258 return gensupport.SendRequest(c.ctx_, c.s.client, req) 14259} 14260 14261// Do executes the "vision.projects.images.annotate" call. 14262// Exactly one of *GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse 14263// or error will be non-nil. Any non-2xx status code is an error. 14264// Response headers are in either 14265// *GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse.ServerResponse. 14266// Header or (if a response was returned at all) in 14267// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 14268// whether the returned error was because http.StatusNotModified was 14269// returned. 14270func (c *ProjectsImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse, error) { 14271 gensupport.SetOptions(c.urlParams_, opts...) 14272 res, err := c.doRequest("json") 14273 if res != nil && res.StatusCode == http.StatusNotModified { 14274 if res.Body != nil { 14275 res.Body.Close() 14276 } 14277 return nil, &googleapi.Error{ 14278 Code: res.StatusCode, 14279 Header: res.Header, 14280 } 14281 } 14282 if err != nil { 14283 return nil, err 14284 } 14285 defer googleapi.CloseBody(res) 14286 if err := googleapi.CheckResponse(res); err != nil { 14287 return nil, err 14288 } 14289 ret := &GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse{ 14290 ServerResponse: googleapi.ServerResponse{ 14291 Header: res.Header, 14292 HTTPStatusCode: res.StatusCode, 14293 }, 14294 } 14295 target := &ret 14296 if err := gensupport.DecodeResponse(target, res); err != nil { 14297 return nil, err 14298 } 14299 return ret, nil 14300 // { 14301 // "description": "Run image detection and annotation for a batch of images.", 14302 // "flatPath": "v1p2beta1/projects/{projectsId}/images:annotate", 14303 // "httpMethod": "POST", 14304 // "id": "vision.projects.images.annotate", 14305 // "parameterOrder": [ 14306 // "parent" 14307 // ], 14308 // "parameters": { 14309 // "parent": { 14310 // "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", 14311 // "location": "path", 14312 // "pattern": "^projects/[^/]+$", 14313 // "required": true, 14314 // "type": "string" 14315 // } 14316 // }, 14317 // "path": "v1p2beta1/{+parent}/images:annotate", 14318 // "request": { 14319 // "$ref": "GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest" 14320 // }, 14321 // "response": { 14322 // "$ref": "GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse" 14323 // }, 14324 // "scopes": [ 14325 // "https://www.googleapis.com/auth/cloud-platform", 14326 // "https://www.googleapis.com/auth/cloud-vision" 14327 // ] 14328 // } 14329 14330} 14331 14332// method id "vision.projects.images.asyncBatchAnnotate": 14333 14334type ProjectsImagesAsyncBatchAnnotateCall struct { 14335 s *Service 14336 parent string 14337 googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest 14338 urlParams_ gensupport.URLParams 14339 ctx_ context.Context 14340 header_ http.Header 14341} 14342 14343// AsyncBatchAnnotate: Run asynchronous image detection and annotation 14344// for a list of images. Progress and results can be retrieved through 14345// the `google.longrunning.Operations` interface. `Operation.metadata` 14346// contains `OperationMetadata` (metadata). `Operation.response` 14347// contains `AsyncBatchAnnotateImagesResponse` (results). This service 14348// will write image annotation outputs to json files in customer GCS 14349// bucket, each json file containing BatchAnnotateImagesResponse proto. 14350// 14351// - parent: Optional. Target project and location to make a call. 14352// Format: `projects/{project-id}/locations/{location-id}`. If no 14353// parent is specified, a region will be chosen automatically. 14354// Supported location-ids: `us`: USA country only, `asia`: East asia 14355// areas, like Japan, Taiwan, `eu`: The European Union. Example: 14356// `projects/project-A/locations/eu`. 14357func (r *ProjectsImagesService) AsyncBatchAnnotate(parent string, googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest) *ProjectsImagesAsyncBatchAnnotateCall { 14358 c := &ProjectsImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 14359 c.parent = parent 14360 c.googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest = googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest 14361 return c 14362} 14363 14364// Fields allows partial responses to be retrieved. See 14365// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 14366// for more information. 14367func (c *ProjectsImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsImagesAsyncBatchAnnotateCall { 14368 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 14369 return c 14370} 14371 14372// Context sets the context to be used in this call's Do method. Any 14373// pending HTTP request will be aborted if the provided context is 14374// canceled. 14375func (c *ProjectsImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsImagesAsyncBatchAnnotateCall { 14376 c.ctx_ = ctx 14377 return c 14378} 14379 14380// Header returns an http.Header that can be modified by the caller to 14381// add HTTP headers to the request. 14382func (c *ProjectsImagesAsyncBatchAnnotateCall) Header() http.Header { 14383 if c.header_ == nil { 14384 c.header_ = make(http.Header) 14385 } 14386 return c.header_ 14387} 14388 14389func (c *ProjectsImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 14390 reqHeaders := make(http.Header) 14391 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201") 14392 for k, v := range c.header_ { 14393 reqHeaders[k] = v 14394 } 14395 reqHeaders.Set("User-Agent", c.s.userAgent()) 14396 var body io.Reader = nil 14397 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest) 14398 if err != nil { 14399 return nil, err 14400 } 14401 reqHeaders.Set("Content-Type", "application/json") 14402 c.urlParams_.Set("alt", alt) 14403 c.urlParams_.Set("prettyPrint", "false") 14404 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p2beta1/{+parent}/images:asyncBatchAnnotate") 14405 urls += "?" + c.urlParams_.Encode() 14406 req, err := http.NewRequest("POST", urls, body) 14407 if err != nil { 14408 return nil, err 14409 } 14410 req.Header = reqHeaders 14411 googleapi.Expand(req.URL, map[string]string{ 14412 "parent": c.parent, 14413 }) 14414 return gensupport.SendRequest(c.ctx_, c.s.client, req) 14415} 14416 14417// Do executes the "vision.projects.images.asyncBatchAnnotate" call. 14418// Exactly one of *Operation or error will be non-nil. Any non-2xx 14419// status code is an error. Response headers are in either 14420// *Operation.ServerResponse.Header or (if a response was returned at 14421// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 14422// to check whether the returned error was because 14423// http.StatusNotModified was returned. 14424func (c *ProjectsImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 14425 gensupport.SetOptions(c.urlParams_, opts...) 14426 res, err := c.doRequest("json") 14427 if res != nil && res.StatusCode == http.StatusNotModified { 14428 if res.Body != nil { 14429 res.Body.Close() 14430 } 14431 return nil, &googleapi.Error{ 14432 Code: res.StatusCode, 14433 Header: res.Header, 14434 } 14435 } 14436 if err != nil { 14437 return nil, err 14438 } 14439 defer googleapi.CloseBody(res) 14440 if err := googleapi.CheckResponse(res); err != nil { 14441 return nil, err 14442 } 14443 ret := &Operation{ 14444 ServerResponse: googleapi.ServerResponse{ 14445 Header: res.Header, 14446 HTTPStatusCode: res.StatusCode, 14447 }, 14448 } 14449 target := &ret 14450 if err := gensupport.DecodeResponse(target, res); err != nil { 14451 return nil, err 14452 } 14453 return ret, nil 14454 // { 14455 // "description": "Run asynchronous image detection and annotation for a list of images. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). This service will write image annotation outputs to json files in customer GCS bucket, each json file containing BatchAnnotateImagesResponse proto.", 14456 // "flatPath": "v1p2beta1/projects/{projectsId}/images:asyncBatchAnnotate", 14457 // "httpMethod": "POST", 14458 // "id": "vision.projects.images.asyncBatchAnnotate", 14459 // "parameterOrder": [ 14460 // "parent" 14461 // ], 14462 // "parameters": { 14463 // "parent": { 14464 // "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", 14465 // "location": "path", 14466 // "pattern": "^projects/[^/]+$", 14467 // "required": true, 14468 // "type": "string" 14469 // } 14470 // }, 14471 // "path": "v1p2beta1/{+parent}/images:asyncBatchAnnotate", 14472 // "request": { 14473 // "$ref": "GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest" 14474 // }, 14475 // "response": { 14476 // "$ref": "Operation" 14477 // }, 14478 // "scopes": [ 14479 // "https://www.googleapis.com/auth/cloud-platform", 14480 // "https://www.googleapis.com/auth/cloud-vision" 14481 // ] 14482 // } 14483 14484} 14485 14486// method id "vision.projects.locations.files.annotate": 14487 14488type ProjectsLocationsFilesAnnotateCall struct { 14489 s *Service 14490 parent string 14491 googlecloudvisionv1p2beta1batchannotatefilesrequest *GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest 14492 urlParams_ gensupport.URLParams 14493 ctx_ context.Context 14494 header_ http.Header 14495} 14496 14497// Annotate: Service that performs image detection and annotation for a 14498// batch of files. Now only "application/pdf", "image/tiff" and 14499// "image/gif" are supported. This service will extract at most 5 14500// (customers can specify which 5 in AnnotateFileRequest.pages) frames 14501// (gif) or pages (pdf or tiff) from each file provided and perform 14502// detection and annotation for each image extracted. 14503// 14504// - parent: Optional. Target project and location to make a call. 14505// Format: `projects/{project-id}/locations/{location-id}`. If no 14506// parent is specified, a region will be chosen automatically. 14507// Supported location-ids: `us`: USA country only, `asia`: East asia 14508// areas, like Japan, Taiwan, `eu`: The European Union. Example: 14509// `projects/project-A/locations/eu`. 14510func (r *ProjectsLocationsFilesService) Annotate(parent string, googlecloudvisionv1p2beta1batchannotatefilesrequest *GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest) *ProjectsLocationsFilesAnnotateCall { 14511 c := &ProjectsLocationsFilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 14512 c.parent = parent 14513 c.googlecloudvisionv1p2beta1batchannotatefilesrequest = googlecloudvisionv1p2beta1batchannotatefilesrequest 14514 return c 14515} 14516 14517// Fields allows partial responses to be retrieved. See 14518// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 14519// for more information. 14520func (c *ProjectsLocationsFilesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFilesAnnotateCall { 14521 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 14522 return c 14523} 14524 14525// Context sets the context to be used in this call's Do method. Any 14526// pending HTTP request will be aborted if the provided context is 14527// canceled. 14528func (c *ProjectsLocationsFilesAnnotateCall) Context(ctx context.Context) *ProjectsLocationsFilesAnnotateCall { 14529 c.ctx_ = ctx 14530 return c 14531} 14532 14533// Header returns an http.Header that can be modified by the caller to 14534// add HTTP headers to the request. 14535func (c *ProjectsLocationsFilesAnnotateCall) Header() http.Header { 14536 if c.header_ == nil { 14537 c.header_ = make(http.Header) 14538 } 14539 return c.header_ 14540} 14541 14542func (c *ProjectsLocationsFilesAnnotateCall) doRequest(alt string) (*http.Response, error) { 14543 reqHeaders := make(http.Header) 14544 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201") 14545 for k, v := range c.header_ { 14546 reqHeaders[k] = v 14547 } 14548 reqHeaders.Set("User-Agent", c.s.userAgent()) 14549 var body io.Reader = nil 14550 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p2beta1batchannotatefilesrequest) 14551 if err != nil { 14552 return nil, err 14553 } 14554 reqHeaders.Set("Content-Type", "application/json") 14555 c.urlParams_.Set("alt", alt) 14556 c.urlParams_.Set("prettyPrint", "false") 14557 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p2beta1/{+parent}/files:annotate") 14558 urls += "?" + c.urlParams_.Encode() 14559 req, err := http.NewRequest("POST", urls, body) 14560 if err != nil { 14561 return nil, err 14562 } 14563 req.Header = reqHeaders 14564 googleapi.Expand(req.URL, map[string]string{ 14565 "parent": c.parent, 14566 }) 14567 return gensupport.SendRequest(c.ctx_, c.s.client, req) 14568} 14569 14570// Do executes the "vision.projects.locations.files.annotate" call. 14571// Exactly one of *GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse 14572// or error will be non-nil. Any non-2xx status code is an error. 14573// Response headers are in either 14574// *GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse.ServerResponse.H 14575// eader or (if a response was returned at all) in 14576// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 14577// whether the returned error was because http.StatusNotModified was 14578// returned. 14579func (c *ProjectsLocationsFilesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse, error) { 14580 gensupport.SetOptions(c.urlParams_, opts...) 14581 res, err := c.doRequest("json") 14582 if res != nil && res.StatusCode == http.StatusNotModified { 14583 if res.Body != nil { 14584 res.Body.Close() 14585 } 14586 return nil, &googleapi.Error{ 14587 Code: res.StatusCode, 14588 Header: res.Header, 14589 } 14590 } 14591 if err != nil { 14592 return nil, err 14593 } 14594 defer googleapi.CloseBody(res) 14595 if err := googleapi.CheckResponse(res); err != nil { 14596 return nil, err 14597 } 14598 ret := &GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse{ 14599 ServerResponse: googleapi.ServerResponse{ 14600 Header: res.Header, 14601 HTTPStatusCode: res.StatusCode, 14602 }, 14603 } 14604 target := &ret 14605 if err := gensupport.DecodeResponse(target, res); err != nil { 14606 return nil, err 14607 } 14608 return ret, nil 14609 // { 14610 // "description": "Service that performs image detection and annotation for a batch of files. Now only \"application/pdf\", \"image/tiff\" and \"image/gif\" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted.", 14611 // "flatPath": "v1p2beta1/projects/{projectsId}/locations/{locationsId}/files:annotate", 14612 // "httpMethod": "POST", 14613 // "id": "vision.projects.locations.files.annotate", 14614 // "parameterOrder": [ 14615 // "parent" 14616 // ], 14617 // "parameters": { 14618 // "parent": { 14619 // "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", 14620 // "location": "path", 14621 // "pattern": "^projects/[^/]+/locations/[^/]+$", 14622 // "required": true, 14623 // "type": "string" 14624 // } 14625 // }, 14626 // "path": "v1p2beta1/{+parent}/files:annotate", 14627 // "request": { 14628 // "$ref": "GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest" 14629 // }, 14630 // "response": { 14631 // "$ref": "GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse" 14632 // }, 14633 // "scopes": [ 14634 // "https://www.googleapis.com/auth/cloud-platform", 14635 // "https://www.googleapis.com/auth/cloud-vision" 14636 // ] 14637 // } 14638 14639} 14640 14641// method id "vision.projects.locations.files.asyncBatchAnnotate": 14642 14643type ProjectsLocationsFilesAsyncBatchAnnotateCall struct { 14644 s *Service 14645 parent string 14646 googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest 14647 urlParams_ gensupport.URLParams 14648 ctx_ context.Context 14649 header_ http.Header 14650} 14651 14652// AsyncBatchAnnotate: Run asynchronous image detection and annotation 14653// for a list of generic files, such as PDF files, which may contain 14654// multiple pages and multiple images per page. Progress and results can 14655// be retrieved through the `google.longrunning.Operations` interface. 14656// `Operation.metadata` contains `OperationMetadata` (metadata). 14657// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` 14658// (results). 14659// 14660// - parent: Optional. Target project and location to make a call. 14661// Format: `projects/{project-id}/locations/{location-id}`. If no 14662// parent is specified, a region will be chosen automatically. 14663// Supported location-ids: `us`: USA country only, `asia`: East asia 14664// areas, like Japan, Taiwan, `eu`: The European Union. Example: 14665// `projects/project-A/locations/eu`. 14666func (r *ProjectsLocationsFilesService) AsyncBatchAnnotate(parent string, googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest) *ProjectsLocationsFilesAsyncBatchAnnotateCall { 14667 c := &ProjectsLocationsFilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 14668 c.parent = parent 14669 c.googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest = googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest 14670 return c 14671} 14672 14673// Fields allows partial responses to be retrieved. See 14674// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 14675// for more information. 14676func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFilesAsyncBatchAnnotateCall { 14677 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 14678 return c 14679} 14680 14681// Context sets the context to be used in this call's Do method. Any 14682// pending HTTP request will be aborted if the provided context is 14683// canceled. 14684func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsLocationsFilesAsyncBatchAnnotateCall { 14685 c.ctx_ = ctx 14686 return c 14687} 14688 14689// Header returns an http.Header that can be modified by the caller to 14690// add HTTP headers to the request. 14691func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Header() http.Header { 14692 if c.header_ == nil { 14693 c.header_ = make(http.Header) 14694 } 14695 return c.header_ 14696} 14697 14698func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 14699 reqHeaders := make(http.Header) 14700 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201") 14701 for k, v := range c.header_ { 14702 reqHeaders[k] = v 14703 } 14704 reqHeaders.Set("User-Agent", c.s.userAgent()) 14705 var body io.Reader = nil 14706 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest) 14707 if err != nil { 14708 return nil, err 14709 } 14710 reqHeaders.Set("Content-Type", "application/json") 14711 c.urlParams_.Set("alt", alt) 14712 c.urlParams_.Set("prettyPrint", "false") 14713 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p2beta1/{+parent}/files:asyncBatchAnnotate") 14714 urls += "?" + c.urlParams_.Encode() 14715 req, err := http.NewRequest("POST", urls, body) 14716 if err != nil { 14717 return nil, err 14718 } 14719 req.Header = reqHeaders 14720 googleapi.Expand(req.URL, map[string]string{ 14721 "parent": c.parent, 14722 }) 14723 return gensupport.SendRequest(c.ctx_, c.s.client, req) 14724} 14725 14726// Do executes the "vision.projects.locations.files.asyncBatchAnnotate" call. 14727// Exactly one of *Operation or error will be non-nil. Any non-2xx 14728// status code is an error. Response headers are in either 14729// *Operation.ServerResponse.Header or (if a response was returned at 14730// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 14731// to check whether the returned error was because 14732// http.StatusNotModified was returned. 14733func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 14734 gensupport.SetOptions(c.urlParams_, opts...) 14735 res, err := c.doRequest("json") 14736 if res != nil && res.StatusCode == http.StatusNotModified { 14737 if res.Body != nil { 14738 res.Body.Close() 14739 } 14740 return nil, &googleapi.Error{ 14741 Code: res.StatusCode, 14742 Header: res.Header, 14743 } 14744 } 14745 if err != nil { 14746 return nil, err 14747 } 14748 defer googleapi.CloseBody(res) 14749 if err := googleapi.CheckResponse(res); err != nil { 14750 return nil, err 14751 } 14752 ret := &Operation{ 14753 ServerResponse: googleapi.ServerResponse{ 14754 Header: res.Header, 14755 HTTPStatusCode: res.StatusCode, 14756 }, 14757 } 14758 target := &ret 14759 if err := gensupport.DecodeResponse(target, res); err != nil { 14760 return nil, err 14761 } 14762 return ret, nil 14763 // { 14764 // "description": "Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", 14765 // "flatPath": "v1p2beta1/projects/{projectsId}/locations/{locationsId}/files:asyncBatchAnnotate", 14766 // "httpMethod": "POST", 14767 // "id": "vision.projects.locations.files.asyncBatchAnnotate", 14768 // "parameterOrder": [ 14769 // "parent" 14770 // ], 14771 // "parameters": { 14772 // "parent": { 14773 // "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", 14774 // "location": "path", 14775 // "pattern": "^projects/[^/]+/locations/[^/]+$", 14776 // "required": true, 14777 // "type": "string" 14778 // } 14779 // }, 14780 // "path": "v1p2beta1/{+parent}/files:asyncBatchAnnotate", 14781 // "request": { 14782 // "$ref": "GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest" 14783 // }, 14784 // "response": { 14785 // "$ref": "Operation" 14786 // }, 14787 // "scopes": [ 14788 // "https://www.googleapis.com/auth/cloud-platform", 14789 // "https://www.googleapis.com/auth/cloud-vision" 14790 // ] 14791 // } 14792 14793} 14794 14795// method id "vision.projects.locations.images.annotate": 14796 14797type ProjectsLocationsImagesAnnotateCall struct { 14798 s *Service 14799 parent string 14800 googlecloudvisionv1p2beta1batchannotateimagesrequest *GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest 14801 urlParams_ gensupport.URLParams 14802 ctx_ context.Context 14803 header_ http.Header 14804} 14805 14806// Annotate: Run image detection and annotation for a batch of images. 14807// 14808// - parent: Optional. Target project and location to make a call. 14809// Format: `projects/{project-id}/locations/{location-id}`. If no 14810// parent is specified, a region will be chosen automatically. 14811// Supported location-ids: `us`: USA country only, `asia`: East asia 14812// areas, like Japan, Taiwan, `eu`: The European Union. Example: 14813// `projects/project-A/locations/eu`. 14814func (r *ProjectsLocationsImagesService) Annotate(parent string, googlecloudvisionv1p2beta1batchannotateimagesrequest *GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest) *ProjectsLocationsImagesAnnotateCall { 14815 c := &ProjectsLocationsImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 14816 c.parent = parent 14817 c.googlecloudvisionv1p2beta1batchannotateimagesrequest = googlecloudvisionv1p2beta1batchannotateimagesrequest 14818 return c 14819} 14820 14821// Fields allows partial responses to be retrieved. See 14822// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 14823// for more information. 14824func (c *ProjectsLocationsImagesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsImagesAnnotateCall { 14825 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 14826 return c 14827} 14828 14829// Context sets the context to be used in this call's Do method. Any 14830// pending HTTP request will be aborted if the provided context is 14831// canceled. 14832func (c *ProjectsLocationsImagesAnnotateCall) Context(ctx context.Context) *ProjectsLocationsImagesAnnotateCall { 14833 c.ctx_ = ctx 14834 return c 14835} 14836 14837// Header returns an http.Header that can be modified by the caller to 14838// add HTTP headers to the request. 14839func (c *ProjectsLocationsImagesAnnotateCall) Header() http.Header { 14840 if c.header_ == nil { 14841 c.header_ = make(http.Header) 14842 } 14843 return c.header_ 14844} 14845 14846func (c *ProjectsLocationsImagesAnnotateCall) doRequest(alt string) (*http.Response, error) { 14847 reqHeaders := make(http.Header) 14848 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201") 14849 for k, v := range c.header_ { 14850 reqHeaders[k] = v 14851 } 14852 reqHeaders.Set("User-Agent", c.s.userAgent()) 14853 var body io.Reader = nil 14854 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p2beta1batchannotateimagesrequest) 14855 if err != nil { 14856 return nil, err 14857 } 14858 reqHeaders.Set("Content-Type", "application/json") 14859 c.urlParams_.Set("alt", alt) 14860 c.urlParams_.Set("prettyPrint", "false") 14861 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p2beta1/{+parent}/images:annotate") 14862 urls += "?" + c.urlParams_.Encode() 14863 req, err := http.NewRequest("POST", urls, body) 14864 if err != nil { 14865 return nil, err 14866 } 14867 req.Header = reqHeaders 14868 googleapi.Expand(req.URL, map[string]string{ 14869 "parent": c.parent, 14870 }) 14871 return gensupport.SendRequest(c.ctx_, c.s.client, req) 14872} 14873 14874// Do executes the "vision.projects.locations.images.annotate" call. 14875// Exactly one of *GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse 14876// or error will be non-nil. Any non-2xx status code is an error. 14877// Response headers are in either 14878// *GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse.ServerResponse. 14879// Header or (if a response was returned at all) in 14880// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 14881// whether the returned error was because http.StatusNotModified was 14882// returned. 14883func (c *ProjectsLocationsImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse, error) { 14884 gensupport.SetOptions(c.urlParams_, opts...) 14885 res, err := c.doRequest("json") 14886 if res != nil && res.StatusCode == http.StatusNotModified { 14887 if res.Body != nil { 14888 res.Body.Close() 14889 } 14890 return nil, &googleapi.Error{ 14891 Code: res.StatusCode, 14892 Header: res.Header, 14893 } 14894 } 14895 if err != nil { 14896 return nil, err 14897 } 14898 defer googleapi.CloseBody(res) 14899 if err := googleapi.CheckResponse(res); err != nil { 14900 return nil, err 14901 } 14902 ret := &GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse{ 14903 ServerResponse: googleapi.ServerResponse{ 14904 Header: res.Header, 14905 HTTPStatusCode: res.StatusCode, 14906 }, 14907 } 14908 target := &ret 14909 if err := gensupport.DecodeResponse(target, res); err != nil { 14910 return nil, err 14911 } 14912 return ret, nil 14913 // { 14914 // "description": "Run image detection and annotation for a batch of images.", 14915 // "flatPath": "v1p2beta1/projects/{projectsId}/locations/{locationsId}/images:annotate", 14916 // "httpMethod": "POST", 14917 // "id": "vision.projects.locations.images.annotate", 14918 // "parameterOrder": [ 14919 // "parent" 14920 // ], 14921 // "parameters": { 14922 // "parent": { 14923 // "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", 14924 // "location": "path", 14925 // "pattern": "^projects/[^/]+/locations/[^/]+$", 14926 // "required": true, 14927 // "type": "string" 14928 // } 14929 // }, 14930 // "path": "v1p2beta1/{+parent}/images:annotate", 14931 // "request": { 14932 // "$ref": "GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest" 14933 // }, 14934 // "response": { 14935 // "$ref": "GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse" 14936 // }, 14937 // "scopes": [ 14938 // "https://www.googleapis.com/auth/cloud-platform", 14939 // "https://www.googleapis.com/auth/cloud-vision" 14940 // ] 14941 // } 14942 14943} 14944 14945// method id "vision.projects.locations.images.asyncBatchAnnotate": 14946 14947type ProjectsLocationsImagesAsyncBatchAnnotateCall struct { 14948 s *Service 14949 parent string 14950 googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest 14951 urlParams_ gensupport.URLParams 14952 ctx_ context.Context 14953 header_ http.Header 14954} 14955 14956// AsyncBatchAnnotate: Run asynchronous image detection and annotation 14957// for a list of images. Progress and results can be retrieved through 14958// the `google.longrunning.Operations` interface. `Operation.metadata` 14959// contains `OperationMetadata` (metadata). `Operation.response` 14960// contains `AsyncBatchAnnotateImagesResponse` (results). This service 14961// will write image annotation outputs to json files in customer GCS 14962// bucket, each json file containing BatchAnnotateImagesResponse proto. 14963// 14964// - parent: Optional. Target project and location to make a call. 14965// Format: `projects/{project-id}/locations/{location-id}`. If no 14966// parent is specified, a region will be chosen automatically. 14967// Supported location-ids: `us`: USA country only, `asia`: East asia 14968// areas, like Japan, Taiwan, `eu`: The European Union. Example: 14969// `projects/project-A/locations/eu`. 14970func (r *ProjectsLocationsImagesService) AsyncBatchAnnotate(parent string, googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest) *ProjectsLocationsImagesAsyncBatchAnnotateCall { 14971 c := &ProjectsLocationsImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 14972 c.parent = parent 14973 c.googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest = googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest 14974 return c 14975} 14976 14977// Fields allows partial responses to be retrieved. See 14978// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 14979// for more information. 14980func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsImagesAsyncBatchAnnotateCall { 14981 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 14982 return c 14983} 14984 14985// Context sets the context to be used in this call's Do method. Any 14986// pending HTTP request will be aborted if the provided context is 14987// canceled. 14988func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsLocationsImagesAsyncBatchAnnotateCall { 14989 c.ctx_ = ctx 14990 return c 14991} 14992 14993// Header returns an http.Header that can be modified by the caller to 14994// add HTTP headers to the request. 14995func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Header() http.Header { 14996 if c.header_ == nil { 14997 c.header_ = make(http.Header) 14998 } 14999 return c.header_ 15000} 15001 15002func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 15003 reqHeaders := make(http.Header) 15004 reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20211201") 15005 for k, v := range c.header_ { 15006 reqHeaders[k] = v 15007 } 15008 reqHeaders.Set("User-Agent", c.s.userAgent()) 15009 var body io.Reader = nil 15010 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest) 15011 if err != nil { 15012 return nil, err 15013 } 15014 reqHeaders.Set("Content-Type", "application/json") 15015 c.urlParams_.Set("alt", alt) 15016 c.urlParams_.Set("prettyPrint", "false") 15017 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p2beta1/{+parent}/images:asyncBatchAnnotate") 15018 urls += "?" + c.urlParams_.Encode() 15019 req, err := http.NewRequest("POST", urls, body) 15020 if err != nil { 15021 return nil, err 15022 } 15023 req.Header = reqHeaders 15024 googleapi.Expand(req.URL, map[string]string{ 15025 "parent": c.parent, 15026 }) 15027 return gensupport.SendRequest(c.ctx_, c.s.client, req) 15028} 15029 15030// Do executes the "vision.projects.locations.images.asyncBatchAnnotate" call. 15031// Exactly one of *Operation or error will be non-nil. Any non-2xx 15032// status code is an error. Response headers are in either 15033// *Operation.ServerResponse.Header or (if a response was returned at 15034// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 15035// to check whether the returned error was because 15036// http.StatusNotModified was returned. 15037func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 15038 gensupport.SetOptions(c.urlParams_, opts...) 15039 res, err := c.doRequest("json") 15040 if res != nil && res.StatusCode == http.StatusNotModified { 15041 if res.Body != nil { 15042 res.Body.Close() 15043 } 15044 return nil, &googleapi.Error{ 15045 Code: res.StatusCode, 15046 Header: res.Header, 15047 } 15048 } 15049 if err != nil { 15050 return nil, err 15051 } 15052 defer googleapi.CloseBody(res) 15053 if err := googleapi.CheckResponse(res); err != nil { 15054 return nil, err 15055 } 15056 ret := &Operation{ 15057 ServerResponse: googleapi.ServerResponse{ 15058 Header: res.Header, 15059 HTTPStatusCode: res.StatusCode, 15060 }, 15061 } 15062 target := &ret 15063 if err := gensupport.DecodeResponse(target, res); err != nil { 15064 return nil, err 15065 } 15066 return ret, nil 15067 // { 15068 // "description": "Run asynchronous image detection and annotation for a list of images. Progress and results can be retrieved through the `google.longrunning.Operations` interface. `Operation.metadata` contains `OperationMetadata` (metadata). `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results). This service will write image annotation outputs to json files in customer GCS bucket, each json file containing BatchAnnotateImagesResponse proto.", 15069 // "flatPath": "v1p2beta1/projects/{projectsId}/locations/{locationsId}/images:asyncBatchAnnotate", 15070 // "httpMethod": "POST", 15071 // "id": "vision.projects.locations.images.asyncBatchAnnotate", 15072 // "parameterOrder": [ 15073 // "parent" 15074 // ], 15075 // "parameters": { 15076 // "parent": { 15077 // "description": "Optional. Target project and location to make a call. Format: `projects/{project-id}/locations/{location-id}`. If no parent is specified, a region will be chosen automatically. Supported location-ids: `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The European Union. Example: `projects/project-A/locations/eu`.", 15078 // "location": "path", 15079 // "pattern": "^projects/[^/]+/locations/[^/]+$", 15080 // "required": true, 15081 // "type": "string" 15082 // } 15083 // }, 15084 // "path": "v1p2beta1/{+parent}/images:asyncBatchAnnotate", 15085 // "request": { 15086 // "$ref": "GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest" 15087 // }, 15088 // "response": { 15089 // "$ref": "Operation" 15090 // }, 15091 // "scopes": [ 15092 // "https://www.googleapis.com/auth/cloud-platform", 15093 // "https://www.googleapis.com/auth/cloud-vision" 15094 // ] 15095 // } 15096 15097} 15098