1 // Copyright 2024 Google LLC. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // Code generated file. DO NOT EDIT. 6 7 // Package vision provides access to the Cloud Vision API. 8 // 9 // This package is DEPRECATED. Use package cloud.google.com/go/vision/apiv1 instead. 10 // 11 // For product documentation, see: https://cloud.google.com/vision/ 12 // 13 // # Library status 14 // 15 // These client libraries are officially supported by Google. However, this 16 // library is considered complete and is in maintenance mode. This means 17 // that we will address critical bugs and security issues but will not add 18 // any new features. 19 // 20 // When possible, we recommend using our newer 21 // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go) 22 // that are still actively being worked and iterated on. 23 // 24 // # Creating a client 25 // 26 // Usage example: 27 // 28 // import "google.golang.org/api/vision/v1p1beta1" 29 // ... 30 // ctx := context.Background() 31 // visionService, err := vision.NewService(ctx) 32 // 33 // In this example, Google Application Default Credentials are used for 34 // authentication. For information on how to create and obtain Application 35 // Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. 36 // 37 // # Other authentication options 38 // 39 // By default, all available scopes (see "Constants") are used to authenticate. 40 // To restrict scopes, use [google.golang.org/api/option.WithScopes]: 41 // 42 // visionService, err := vision.NewService(ctx, option.WithScopes(vision.CloudVisionScope)) 43 // 44 // To use an API key for authentication (note: some APIs do not support API 45 // keys), use [google.golang.org/api/option.WithAPIKey]: 46 // 47 // visionService, err := vision.NewService(ctx, option.WithAPIKey("AIza...")) 48 // 49 // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth 50 // flow, use [google.golang.org/api/option.WithTokenSource]: 51 // 52 // config := &oauth2.Config{...} 53 // // ... 54 // token, err := config.Exchange(ctx, ...) 55 // visionService, err := vision.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) 56 // 57 // See [google.golang.org/api/option.ClientOption] for details on options. 58 package vision // import "google.golang.org/api/vision/v1p1beta1" 59 60 import ( 61 "bytes" 62 "context" 63 "encoding/json" 64 "errors" 65 "fmt" 66 "io" 67 "net/http" 68 "net/url" 69 "strconv" 70 "strings" 71 72 googleapi "google.golang.org/api/googleapi" 73 internal "google.golang.org/api/internal" 74 gensupport "google.golang.org/api/internal/gensupport" 75 option "google.golang.org/api/option" 76 internaloption "google.golang.org/api/option/internaloption" 77 htransport "google.golang.org/api/transport/http" 78 ) 79 80 // Always reference these packages, just in case the auto-generated code 81 // below doesn't. 82 var _ = bytes.NewBuffer 83 var _ = strconv.Itoa 84 var _ = fmt.Sprintf 85 var _ = json.NewDecoder 86 var _ = io.Copy 87 var _ = url.Parse 88 var _ = gensupport.MarshalJSON 89 var _ = googleapi.Version 90 var _ = errors.New 91 var _ = strings.Replace 92 var _ = context.Canceled 93 var _ = internaloption.WithDefaultEndpoint 94 var _ = internal.Version 95 96 const apiId = "vision:v1p1beta1" 97 const apiName = "vision" 98 const apiVersion = "v1p1beta1" 99 const basePath = "https://vision.googleapis.com/" 100 const basePathTemplate = "https://vision.UNIVERSE_DOMAIN/" 101 const mtlsBasePath = "https://vision.mtls.googleapis.com/" 102 103 // OAuth2 scopes used by this API. 104 const ( 105 // See, edit, configure, and delete your Google Cloud data and see the email 106 // address for your Google Account. 107 CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" 108 109 // Apply machine learning models to understand and label images 110 CloudVisionScope = "https://www.googleapis.com/auth/cloud-vision" 111 ) 112 113 // NewService creates a new Service. 114 func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { 115 scopesOption := internaloption.WithDefaultScopes( 116 "https://www.googleapis.com/auth/cloud-platform", 117 "https://www.googleapis.com/auth/cloud-vision", 118 ) 119 // NOTE: prepend, so we don't override user-specified scopes. 120 opts = append([]option.ClientOption{scopesOption}, opts...) 121 opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) 122 opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate)) 123 opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) 124 opts = append(opts, internaloption.EnableNewAuthLibrary()) 125 client, endpoint, err := htransport.NewClient(ctx, opts...) 126 if err != nil { 127 return nil, err 128 } 129 s, err := New(client) 130 if err != nil { 131 return nil, err 132 } 133 if endpoint != "" { 134 s.BasePath = endpoint 135 } 136 return s, nil 137 } 138 139 // New creates a new Service. It uses the provided http.Client for requests. 140 // 141 // Deprecated: please use NewService instead. 142 // To provide a custom HTTP client, use option.WithHTTPClient. 143 // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. 144 func New(client *http.Client) (*Service, error) { 145 if client == nil { 146 return nil, errors.New("client is nil") 147 } 148 s := &Service{client: client, BasePath: basePath} 149 s.Files = NewFilesService(s) 150 s.Images = NewImagesService(s) 151 s.Projects = NewProjectsService(s) 152 return s, nil 153 } 154 155 type Service struct { 156 client *http.Client 157 BasePath string // API endpoint base URL 158 UserAgent string // optional additional User-Agent fragment 159 160 Files *FilesService 161 162 Images *ImagesService 163 164 Projects *ProjectsService 165 } 166 167 func (s *Service) userAgent() string { 168 if s.UserAgent == "" { 169 return googleapi.UserAgent 170 } 171 return googleapi.UserAgent + " " + s.UserAgent 172 } 173 174 func NewFilesService(s *Service) *FilesService { 175 rs := &FilesService{s: s} 176 return rs 177 } 178 179 type FilesService struct { 180 s *Service 181 } 182 183 func NewImagesService(s *Service) *ImagesService { 184 rs := &ImagesService{s: s} 185 return rs 186 } 187 188 type ImagesService struct { 189 s *Service 190 } 191 192 func NewProjectsService(s *Service) *ProjectsService { 193 rs := &ProjectsService{s: s} 194 rs.Files = NewProjectsFilesService(s) 195 rs.Images = NewProjectsImagesService(s) 196 rs.Locations = NewProjectsLocationsService(s) 197 return rs 198 } 199 200 type ProjectsService struct { 201 s *Service 202 203 Files *ProjectsFilesService 204 205 Images *ProjectsImagesService 206 207 Locations *ProjectsLocationsService 208 } 209 210 func NewProjectsFilesService(s *Service) *ProjectsFilesService { 211 rs := &ProjectsFilesService{s: s} 212 return rs 213 } 214 215 type ProjectsFilesService struct { 216 s *Service 217 } 218 219 func NewProjectsImagesService(s *Service) *ProjectsImagesService { 220 rs := &ProjectsImagesService{s: s} 221 return rs 222 } 223 224 type ProjectsImagesService struct { 225 s *Service 226 } 227 228 func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { 229 rs := &ProjectsLocationsService{s: s} 230 rs.Files = NewProjectsLocationsFilesService(s) 231 rs.Images = NewProjectsLocationsImagesService(s) 232 return rs 233 } 234 235 type ProjectsLocationsService struct { 236 s *Service 237 238 Files *ProjectsLocationsFilesService 239 240 Images *ProjectsLocationsImagesService 241 } 242 243 func NewProjectsLocationsFilesService(s *Service) *ProjectsLocationsFilesService { 244 rs := &ProjectsLocationsFilesService{s: s} 245 return rs 246 } 247 248 type ProjectsLocationsFilesService struct { 249 s *Service 250 } 251 252 func NewProjectsLocationsImagesService(s *Service) *ProjectsLocationsImagesService { 253 rs := &ProjectsLocationsImagesService{s: s} 254 return rs 255 } 256 257 type ProjectsLocationsImagesService struct { 258 s *Service 259 } 260 261 // AnnotateFileResponse: Response to a single file annotation request. A file 262 // may contain one or more images, which individually have their own responses. 263 type AnnotateFileResponse struct { 264 // Error: If set, represents the error message for the failed request. The 265 // `responses` field will not be set in this case. 266 Error *Status `json:"error,omitempty"` 267 // InputConfig: Information about the file for which this response is 268 // generated. 269 InputConfig *InputConfig `json:"inputConfig,omitempty"` 270 // Responses: Individual responses to images found within the file. This field 271 // will be empty if the `error` field is set. 272 Responses []*AnnotateImageResponse `json:"responses,omitempty"` 273 // TotalPages: This field gives the total number of pages in the file. 274 TotalPages int64 `json:"totalPages,omitempty"` 275 // ForceSendFields is a list of field names (e.g. "Error") to unconditionally 276 // include in API requests. By default, fields with empty or default values are 277 // omitted from API requests. See 278 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 279 // details. 280 ForceSendFields []string `json:"-"` 281 // NullFields is a list of field names (e.g. "Error") to include in API 282 // requests with the JSON null value. By default, fields with empty values are 283 // omitted from API requests. See 284 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 285 NullFields []string `json:"-"` 286 } 287 288 func (s *AnnotateFileResponse) MarshalJSON() ([]byte, error) { 289 type NoMethod AnnotateFileResponse 290 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 291 } 292 293 // AnnotateImageResponse: Response to an image annotation request. 294 type AnnotateImageResponse struct { 295 // Context: If present, contextual information is needed to understand where 296 // this image comes from. 297 Context *ImageAnnotationContext `json:"context,omitempty"` 298 // CropHintsAnnotation: If present, crop hints have completed successfully. 299 CropHintsAnnotation *CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 300 // Error: If set, represents the error message for the operation. Note that 301 // filled-in image annotations are guaranteed to be correct, even when `error` 302 // is set. 303 Error *Status `json:"error,omitempty"` 304 // FaceAnnotations: If present, face detection has completed successfully. 305 FaceAnnotations []*FaceAnnotation `json:"faceAnnotations,omitempty"` 306 // FullTextAnnotation: If present, text (OCR) detection or document (OCR) text 307 // detection has completed successfully. This annotation provides the 308 // structural hierarchy for the OCR detected text. 309 FullTextAnnotation *TextAnnotation `json:"fullTextAnnotation,omitempty"` 310 // ImagePropertiesAnnotation: If present, image properties were extracted 311 // successfully. 312 ImagePropertiesAnnotation *ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 313 // LabelAnnotations: If present, label detection has completed successfully. 314 LabelAnnotations []*EntityAnnotation `json:"labelAnnotations,omitempty"` 315 // LandmarkAnnotations: If present, landmark detection has completed 316 // successfully. 317 LandmarkAnnotations []*EntityAnnotation `json:"landmarkAnnotations,omitempty"` 318 // LocalizedObjectAnnotations: If present, localized object detection has 319 // completed successfully. This will be sorted descending by confidence score. 320 LocalizedObjectAnnotations []*LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 321 // LogoAnnotations: If present, logo detection has completed successfully. 322 LogoAnnotations []*EntityAnnotation `json:"logoAnnotations,omitempty"` 323 // ProductSearchResults: If present, product search has completed successfully. 324 ProductSearchResults *ProductSearchResults `json:"productSearchResults,omitempty"` 325 // SafeSearchAnnotation: If present, safe-search annotation has completed 326 // successfully. 327 SafeSearchAnnotation *SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 328 // TextAnnotations: If present, text (OCR) detection has completed 329 // successfully. 330 TextAnnotations []*EntityAnnotation `json:"textAnnotations,omitempty"` 331 // WebDetection: If present, web detection has completed successfully. 332 WebDetection *WebDetection `json:"webDetection,omitempty"` 333 // ForceSendFields is a list of field names (e.g. "Context") to unconditionally 334 // include in API requests. By default, fields with empty or default values are 335 // omitted from API requests. See 336 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 337 // details. 338 ForceSendFields []string `json:"-"` 339 // NullFields is a list of field names (e.g. "Context") to include in API 340 // requests with the JSON null value. By default, fields with empty values are 341 // omitted from API requests. See 342 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 343 NullFields []string `json:"-"` 344 } 345 346 func (s *AnnotateImageResponse) MarshalJSON() ([]byte, error) { 347 type NoMethod AnnotateImageResponse 348 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 349 } 350 351 // AsyncAnnotateFileResponse: The response for a single offline file annotation 352 // request. 353 type AsyncAnnotateFileResponse struct { 354 // OutputConfig: The output location and metadata from 355 // AsyncAnnotateFileRequest. 356 OutputConfig *OutputConfig `json:"outputConfig,omitempty"` 357 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 358 // unconditionally include in API requests. By default, fields with empty or 359 // default values are omitted from API requests. See 360 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 361 // details. 362 ForceSendFields []string `json:"-"` 363 // NullFields is a list of field names (e.g. "OutputConfig") to include in API 364 // requests with the JSON null value. By default, fields with empty values are 365 // omitted from API requests. See 366 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 367 NullFields []string `json:"-"` 368 } 369 370 func (s *AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 371 type NoMethod AsyncAnnotateFileResponse 372 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 373 } 374 375 // AsyncBatchAnnotateFilesResponse: Response to an async batch file annotation 376 // request. 377 type AsyncBatchAnnotateFilesResponse struct { 378 // Responses: The list of file annotation responses, one for each request in 379 // AsyncBatchAnnotateFilesRequest. 380 Responses []*AsyncAnnotateFileResponse `json:"responses,omitempty"` 381 // ForceSendFields is a list of field names (e.g. "Responses") to 382 // unconditionally include in API requests. By default, fields with empty or 383 // default values are omitted from API requests. See 384 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 385 // details. 386 ForceSendFields []string `json:"-"` 387 // NullFields is a list of field names (e.g. "Responses") to include in API 388 // requests with the JSON null value. By default, fields with empty values are 389 // omitted from API requests. See 390 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 391 NullFields []string `json:"-"` 392 } 393 394 func (s *AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 395 type NoMethod AsyncBatchAnnotateFilesResponse 396 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 397 } 398 399 // AsyncBatchAnnotateImagesResponse: Response to an async batch image 400 // annotation request. 401 type AsyncBatchAnnotateImagesResponse struct { 402 // OutputConfig: The output location and metadata from 403 // AsyncBatchAnnotateImagesRequest. 404 OutputConfig *OutputConfig `json:"outputConfig,omitempty"` 405 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 406 // unconditionally include in API requests. By default, fields with empty or 407 // default values are omitted from API requests. See 408 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 409 // details. 410 ForceSendFields []string `json:"-"` 411 // NullFields is a list of field names (e.g. "OutputConfig") to include in API 412 // requests with the JSON null value. By default, fields with empty values are 413 // omitted from API requests. See 414 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 415 NullFields []string `json:"-"` 416 } 417 418 func (s *AsyncBatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 419 type NoMethod AsyncBatchAnnotateImagesResponse 420 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 421 } 422 423 // BatchAnnotateFilesResponse: A list of file annotation responses. 424 type BatchAnnotateFilesResponse struct { 425 // Responses: The list of file annotation responses, each response 426 // corresponding to each AnnotateFileRequest in BatchAnnotateFilesRequest. 427 Responses []*AnnotateFileResponse `json:"responses,omitempty"` 428 // ForceSendFields is a list of field names (e.g. "Responses") to 429 // unconditionally include in API requests. By default, fields with empty or 430 // default values are omitted from API requests. See 431 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 432 // details. 433 ForceSendFields []string `json:"-"` 434 // NullFields is a list of field names (e.g. "Responses") to include in API 435 // requests with the JSON null value. By default, fields with empty values are 436 // omitted from API requests. See 437 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 438 NullFields []string `json:"-"` 439 } 440 441 func (s *BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 442 type NoMethod BatchAnnotateFilesResponse 443 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 444 } 445 446 // BatchOperationMetadata: Metadata for the batch operations such as the 447 // current state. This is included in the `metadata` field of the `Operation` 448 // returned by the `GetOperation` call of the `google::longrunning::Operations` 449 // service. 450 type BatchOperationMetadata struct { 451 // EndTime: The time when the batch request is finished and 452 // google.longrunning.Operation.done is set to true. 453 EndTime string `json:"endTime,omitempty"` 454 // State: The current state of the batch operation. 455 // 456 // Possible values: 457 // "STATE_UNSPECIFIED" - Invalid. 458 // "PROCESSING" - Request is actively being processed. 459 // "SUCCESSFUL" - The request is done and at least one item has been 460 // successfully processed. 461 // "FAILED" - The request is done and no item has been successfully 462 // processed. 463 // "CANCELLED" - The request is done after the 464 // longrunning.Operations.CancelOperation has been called by the user. Any 465 // records that were processed before the cancel command are output as 466 // specified in the request. 467 State string `json:"state,omitempty"` 468 // SubmitTime: The time when the batch request was submitted to the server. 469 SubmitTime string `json:"submitTime,omitempty"` 470 // ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally 471 // include in API requests. By default, fields with empty or default values are 472 // omitted from API requests. See 473 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 474 // details. 475 ForceSendFields []string `json:"-"` 476 // NullFields is a list of field names (e.g. "EndTime") to include in API 477 // requests with the JSON null value. By default, fields with empty values are 478 // omitted from API requests. See 479 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 480 NullFields []string `json:"-"` 481 } 482 483 func (s *BatchOperationMetadata) MarshalJSON() ([]byte, error) { 484 type NoMethod BatchOperationMetadata 485 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 486 } 487 488 // Block: Logical element on the page. 489 type Block struct { 490 // BlockType: Detected block type (text, image etc) for this block. 491 // 492 // Possible values: 493 // "UNKNOWN" - Unknown block type. 494 // "TEXT" - Regular text block. 495 // "TABLE" - Table block. 496 // "PICTURE" - Image block. 497 // "RULER" - Horizontal/vertical line box. 498 // "BARCODE" - Barcode block. 499 BlockType string `json:"blockType,omitempty"` 500 // BoundingBox: The bounding box for the block. The vertices are in the order 501 // of top-left, top-right, bottom-right, bottom-left. When a rotation of the 502 // bounding box is detected the rotation is represented as around the top-left 503 // corner as defined when the text is read in the 'natural' orientation. For 504 // example: * when the text is horizontal it might look like: 0----1 | | 3----2 505 // * when it's rotated 180 degrees around the top-left corner it becomes: 506 // 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). 507 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 508 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 509 Confidence float64 `json:"confidence,omitempty"` 510 // Paragraphs: List of paragraphs in this block (if this blocks is of type 511 // text). 512 Paragraphs []*Paragraph `json:"paragraphs,omitempty"` 513 // Property: Additional information detected for the block. 514 Property *TextProperty `json:"property,omitempty"` 515 // ForceSendFields is a list of field names (e.g. "BlockType") to 516 // unconditionally include in API requests. By default, fields with empty or 517 // default values are omitted from API requests. See 518 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 519 // details. 520 ForceSendFields []string `json:"-"` 521 // NullFields is a list of field names (e.g. "BlockType") to include in API 522 // requests with the JSON null value. By default, fields with empty values are 523 // omitted from API requests. See 524 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 525 NullFields []string `json:"-"` 526 } 527 528 func (s *Block) MarshalJSON() ([]byte, error) { 529 type NoMethod Block 530 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 531 } 532 533 func (s *Block) UnmarshalJSON(data []byte) error { 534 type NoMethod Block 535 var s1 struct { 536 Confidence gensupport.JSONFloat64 `json:"confidence"` 537 *NoMethod 538 } 539 s1.NoMethod = (*NoMethod)(s) 540 if err := json.Unmarshal(data, &s1); err != nil { 541 return err 542 } 543 s.Confidence = float64(s1.Confidence) 544 return nil 545 } 546 547 // BoundingPoly: A bounding polygon for the detected image annotation. 548 type BoundingPoly struct { 549 // NormalizedVertices: The bounding polygon normalized vertices. 550 NormalizedVertices []*NormalizedVertex `json:"normalizedVertices,omitempty"` 551 // Vertices: The bounding polygon vertices. 552 Vertices []*Vertex `json:"vertices,omitempty"` 553 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") to 554 // unconditionally include in API requests. By default, fields with empty or 555 // default values are omitted from API requests. See 556 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 557 // details. 558 ForceSendFields []string `json:"-"` 559 // NullFields is a list of field names (e.g. "NormalizedVertices") to include 560 // in API requests with the JSON null value. By default, fields with empty 561 // values are omitted from API requests. See 562 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 563 NullFields []string `json:"-"` 564 } 565 566 func (s *BoundingPoly) MarshalJSON() ([]byte, error) { 567 type NoMethod BoundingPoly 568 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 569 } 570 571 // Color: Represents a color in the RGBA color space. This representation is 572 // designed for simplicity of conversion to and from color representations in 573 // various languages over compactness. For example, the fields of this 574 // representation can be trivially provided to the constructor of 575 // `java.awt.Color` in Java; it can also be trivially provided to UIColor's 576 // `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little 577 // work, it can be easily formatted into a CSS `rgba()` string in JavaScript. 578 // This reference page doesn't have information about the absolute color space 579 // that should be used to interpret the RGB value—for example, sRGB, Adobe 580 // RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB 581 // color space. When color equality needs to be decided, implementations, 582 // unless documented otherwise, treat two colors as equal if all their red, 583 // green, blue, and alpha values each differ by at most `1e-5`. Example (Java): 584 // import com.google.type.Color; // ... public static java.awt.Color 585 // fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? 586 // protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( 587 // protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } 588 // public static Color toProto(java.awt.Color color) { float red = (float) 589 // color.getRed(); float green = (float) color.getGreen(); float blue = (float) 590 // color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = 591 // Color .newBuilder() .setRed(red / denominator) .setGreen(green / 592 // denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if 593 // (alpha != 255) { result.setAlpha( FloatValue .newBuilder() 594 // .setValue(((float) alpha) / denominator) .build()); } return 595 // resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static 596 // UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float 597 // green = [protocolor green]; float blue = [protocolor blue]; FloatValue* 598 // alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != 599 // nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red 600 // green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) 601 // { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green 602 // blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] 603 // init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; 604 // if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } 605 // [result autorelease]; return result; } // ... Example (JavaScript): // ... 606 // var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 607 // 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue 608 // || 0.0; var red = Math.floor(redFrac * 255); var green = 609 // Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if 610 // (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var 611 // alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, 612 // blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(”); 613 // }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new 614 // Number((red << 16) | (green << 8) | blue); var hexString = 615 // rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var 616 // resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { 617 // resultBuilder.push('0'); } resultBuilder.push(hexString); return 618 // resultBuilder.join(”); }; // ... 619 type Color struct { 620 // Alpha: The fraction of this color that should be applied to the pixel. That 621 // is, the final pixel color is defined by the equation: `pixel color = alpha * 622 // (this color) + (1.0 - alpha) * (background color)` This means that a value 623 // of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a 624 // completely transparent color. This uses a wrapper message rather than a 625 // simple float scalar so that it is possible to distinguish between a default 626 // value and the value being unset. If omitted, this color object is rendered 627 // as a solid color (as if the alpha value had been explicitly given a value of 628 // 1.0). 629 Alpha float64 `json:"alpha,omitempty"` 630 // Blue: The amount of blue in the color as a value in the interval [0, 1]. 631 Blue float64 `json:"blue,omitempty"` 632 // Green: The amount of green in the color as a value in the interval [0, 1]. 633 Green float64 `json:"green,omitempty"` 634 // Red: The amount of red in the color as a value in the interval [0, 1]. 635 Red float64 `json:"red,omitempty"` 636 // ForceSendFields is a list of field names (e.g. "Alpha") to unconditionally 637 // include in API requests. By default, fields with empty or default values are 638 // omitted from API requests. See 639 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 640 // details. 641 ForceSendFields []string `json:"-"` 642 // NullFields is a list of field names (e.g. "Alpha") to include in API 643 // requests with the JSON null value. By default, fields with empty values are 644 // omitted from API requests. See 645 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 646 NullFields []string `json:"-"` 647 } 648 649 func (s *Color) MarshalJSON() ([]byte, error) { 650 type NoMethod Color 651 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 652 } 653 654 func (s *Color) UnmarshalJSON(data []byte) error { 655 type NoMethod Color 656 var s1 struct { 657 Alpha gensupport.JSONFloat64 `json:"alpha"` 658 Blue gensupport.JSONFloat64 `json:"blue"` 659 Green gensupport.JSONFloat64 `json:"green"` 660 Red gensupport.JSONFloat64 `json:"red"` 661 *NoMethod 662 } 663 s1.NoMethod = (*NoMethod)(s) 664 if err := json.Unmarshal(data, &s1); err != nil { 665 return err 666 } 667 s.Alpha = float64(s1.Alpha) 668 s.Blue = float64(s1.Blue) 669 s.Green = float64(s1.Green) 670 s.Red = float64(s1.Red) 671 return nil 672 } 673 674 // ColorInfo: Color information consists of RGB channels, score, and the 675 // fraction of the image that the color occupies in the image. 676 type ColorInfo struct { 677 // Color: RGB components of the color. 678 Color *Color `json:"color,omitempty"` 679 // PixelFraction: The fraction of pixels the color occupies in the image. Value 680 // in range [0, 1]. 681 PixelFraction float64 `json:"pixelFraction,omitempty"` 682 // Score: Image-specific score for this color. Value in range [0, 1]. 683 Score float64 `json:"score,omitempty"` 684 // ForceSendFields is a list of field names (e.g. "Color") to unconditionally 685 // include in API requests. By default, fields with empty or default values are 686 // omitted from API requests. See 687 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 688 // details. 689 ForceSendFields []string `json:"-"` 690 // NullFields is a list of field names (e.g. "Color") to include in API 691 // requests with the JSON null value. By default, fields with empty values are 692 // omitted from API requests. See 693 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 694 NullFields []string `json:"-"` 695 } 696 697 func (s *ColorInfo) MarshalJSON() ([]byte, error) { 698 type NoMethod ColorInfo 699 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 700 } 701 702 func (s *ColorInfo) UnmarshalJSON(data []byte) error { 703 type NoMethod ColorInfo 704 var s1 struct { 705 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 706 Score gensupport.JSONFloat64 `json:"score"` 707 *NoMethod 708 } 709 s1.NoMethod = (*NoMethod)(s) 710 if err := json.Unmarshal(data, &s1); err != nil { 711 return err 712 } 713 s.PixelFraction = float64(s1.PixelFraction) 714 s.Score = float64(s1.Score) 715 return nil 716 } 717 718 // CropHint: Single crop hint that is used to generate a new crop when serving 719 // an image. 720 type CropHint struct { 721 // BoundingPoly: The bounding polygon for the crop region. The coordinates of 722 // the bounding box are in the original image's scale. 723 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 724 // Confidence: Confidence of this being a salient region. Range [0, 1]. 725 Confidence float64 `json:"confidence,omitempty"` 726 // ImportanceFraction: Fraction of importance of this salient region with 727 // respect to the original image. 728 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 729 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 730 // unconditionally include in API requests. By default, fields with empty or 731 // default values are omitted from API requests. See 732 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 733 // details. 734 ForceSendFields []string `json:"-"` 735 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 736 // requests with the JSON null value. By default, fields with empty values are 737 // omitted from API requests. See 738 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 739 NullFields []string `json:"-"` 740 } 741 742 func (s *CropHint) MarshalJSON() ([]byte, error) { 743 type NoMethod CropHint 744 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 745 } 746 747 func (s *CropHint) UnmarshalJSON(data []byte) error { 748 type NoMethod CropHint 749 var s1 struct { 750 Confidence gensupport.JSONFloat64 `json:"confidence"` 751 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 752 *NoMethod 753 } 754 s1.NoMethod = (*NoMethod)(s) 755 if err := json.Unmarshal(data, &s1); err != nil { 756 return err 757 } 758 s.Confidence = float64(s1.Confidence) 759 s.ImportanceFraction = float64(s1.ImportanceFraction) 760 return nil 761 } 762 763 // CropHintsAnnotation: Set of crop hints that are used to generate new crops 764 // when serving images. 765 type CropHintsAnnotation struct { 766 // CropHints: Crop hint results. 767 CropHints []*CropHint `json:"cropHints,omitempty"` 768 // ForceSendFields is a list of field names (e.g. "CropHints") to 769 // unconditionally include in API requests. By default, fields with empty or 770 // default values are omitted from API requests. See 771 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 772 // details. 773 ForceSendFields []string `json:"-"` 774 // NullFields is a list of field names (e.g. "CropHints") to include in API 775 // requests with the JSON null value. By default, fields with empty values are 776 // omitted from API requests. See 777 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 778 NullFields []string `json:"-"` 779 } 780 781 func (s *CropHintsAnnotation) MarshalJSON() ([]byte, error) { 782 type NoMethod CropHintsAnnotation 783 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 784 } 785 786 // DetectedBreak: Detected start or end of a structural component. 787 type DetectedBreak struct { 788 // IsPrefix: True if break prepends the element. 789 IsPrefix bool `json:"isPrefix,omitempty"` 790 // Type: Detected break type. 791 // 792 // Possible values: 793 // "UNKNOWN" - Unknown break label type. 794 // "SPACE" - Regular space. 795 // "SURE_SPACE" - Sure space (very wide). 796 // "EOL_SURE_SPACE" - Line-wrapping break. 797 // "HYPHEN" - End-line hyphen that is not present in text; does not co-occur 798 // with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 799 // "LINE_BREAK" - Line break that ends a paragraph. 800 Type string `json:"type,omitempty"` 801 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 802 // unconditionally include in API requests. By default, fields with empty or 803 // default values are omitted from API requests. See 804 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 805 // details. 806 ForceSendFields []string `json:"-"` 807 // NullFields is a list of field names (e.g. "IsPrefix") to include in API 808 // requests with the JSON null value. By default, fields with empty values are 809 // omitted from API requests. See 810 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 811 NullFields []string `json:"-"` 812 } 813 814 func (s *DetectedBreak) MarshalJSON() ([]byte, error) { 815 type NoMethod DetectedBreak 816 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 817 } 818 819 // DetectedLanguage: Detected language for a structural component. 820 type DetectedLanguage struct { 821 // Confidence: Confidence of detected language. Range [0, 1]. 822 Confidence float64 `json:"confidence,omitempty"` 823 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For 824 // more information, see 825 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 826 LanguageCode string `json:"languageCode,omitempty"` 827 // ForceSendFields is a list of field names (e.g. "Confidence") to 828 // unconditionally include in API requests. By default, fields with empty or 829 // default values are omitted from API requests. See 830 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 831 // details. 832 ForceSendFields []string `json:"-"` 833 // NullFields is a list of field names (e.g. "Confidence") to include in API 834 // requests with the JSON null value. By default, fields with empty values are 835 // omitted from API requests. See 836 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 837 NullFields []string `json:"-"` 838 } 839 840 func (s *DetectedLanguage) MarshalJSON() ([]byte, error) { 841 type NoMethod DetectedLanguage 842 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 843 } 844 845 func (s *DetectedLanguage) UnmarshalJSON(data []byte) error { 846 type NoMethod DetectedLanguage 847 var s1 struct { 848 Confidence gensupport.JSONFloat64 `json:"confidence"` 849 *NoMethod 850 } 851 s1.NoMethod = (*NoMethod)(s) 852 if err := json.Unmarshal(data, &s1); err != nil { 853 return err 854 } 855 s.Confidence = float64(s1.Confidence) 856 return nil 857 } 858 859 // DominantColorsAnnotation: Set of dominant colors and their corresponding 860 // scores. 861 type DominantColorsAnnotation struct { 862 // Colors: RGB color values with their score and pixel fraction. 863 Colors []*ColorInfo `json:"colors,omitempty"` 864 // ForceSendFields is a list of field names (e.g. "Colors") to unconditionally 865 // include in API requests. By default, fields with empty or default values are 866 // omitted from API requests. See 867 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 868 // details. 869 ForceSendFields []string `json:"-"` 870 // NullFields is a list of field names (e.g. "Colors") to include in API 871 // requests with the JSON null value. By default, fields with empty values are 872 // omitted from API requests. See 873 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 874 NullFields []string `json:"-"` 875 } 876 877 func (s *DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 878 type NoMethod DominantColorsAnnotation 879 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 880 } 881 882 // EntityAnnotation: Set of detected entity features. 883 type EntityAnnotation struct { 884 // BoundingPoly: Image region to which this entity belongs. Not produced for 885 // `LABEL_DETECTION` features. 886 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 887 // Confidence: **Deprecated. Use `score` instead.** The accuracy of the entity 888 // detection in an image. For example, for an image in which the "Eiffel Tower" 889 // entity is detected, this field represents the confidence that there is a 890 // tower in the query image. Range [0, 1]. 891 Confidence float64 `json:"confidence,omitempty"` 892 // Description: Entity textual description, expressed in its `locale` language. 893 Description string `json:"description,omitempty"` 894 // Locale: The language code for the locale in which the entity textual 895 // `description` is expressed. 896 Locale string `json:"locale,omitempty"` 897 // Locations: The location information for the detected entity. Multiple 898 // `LocationInfo` elements can be present because one location may indicate the 899 // location of the scene in the image, and another location may indicate the 900 // location of the place where the image was taken. Location information is 901 // usually present for landmarks. 902 Locations []*LocationInfo `json:"locations,omitempty"` 903 // Mid: Opaque entity ID. Some IDs may be available in Google Knowledge Graph 904 // Search API (https://developers.google.com/knowledge-graph/). 905 Mid string `json:"mid,omitempty"` 906 // Properties: Some entities may have optional user-supplied `Property` 907 // (name/value) fields, such a score or string that qualifies the entity. 908 Properties []*Property `json:"properties,omitempty"` 909 // Score: Overall score of the result. Range [0, 1]. 910 Score float64 `json:"score,omitempty"` 911 // Topicality: The relevancy of the ICA (Image Content Annotation) label to the 912 // image. For example, the relevancy of "tower" is likely higher to an image 913 // containing the detected "Eiffel Tower" than to an image containing a 914 // detected distant towering building, even though the confidence that there is 915 // a tower in each image may be the same. Range [0, 1]. 916 Topicality float64 `json:"topicality,omitempty"` 917 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 918 // unconditionally include in API requests. By default, fields with empty or 919 // default values are omitted from API requests. See 920 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 921 // details. 922 ForceSendFields []string `json:"-"` 923 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 924 // requests with the JSON null value. By default, fields with empty values are 925 // omitted from API requests. See 926 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 927 NullFields []string `json:"-"` 928 } 929 930 func (s *EntityAnnotation) MarshalJSON() ([]byte, error) { 931 type NoMethod EntityAnnotation 932 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 933 } 934 935 func (s *EntityAnnotation) UnmarshalJSON(data []byte) error { 936 type NoMethod EntityAnnotation 937 var s1 struct { 938 Confidence gensupport.JSONFloat64 `json:"confidence"` 939 Score gensupport.JSONFloat64 `json:"score"` 940 Topicality gensupport.JSONFloat64 `json:"topicality"` 941 *NoMethod 942 } 943 s1.NoMethod = (*NoMethod)(s) 944 if err := json.Unmarshal(data, &s1); err != nil { 945 return err 946 } 947 s.Confidence = float64(s1.Confidence) 948 s.Score = float64(s1.Score) 949 s.Topicality = float64(s1.Topicality) 950 return nil 951 } 952 953 // FaceAnnotation: A face annotation object contains the results of face 954 // detection. 955 type FaceAnnotation struct { 956 // AngerLikelihood: Anger likelihood. 957 // 958 // Possible values: 959 // "UNKNOWN" - Unknown likelihood. 960 // "VERY_UNLIKELY" - It is very unlikely. 961 // "UNLIKELY" - It is unlikely. 962 // "POSSIBLE" - It is possible. 963 // "LIKELY" - It is likely. 964 // "VERY_LIKELY" - It is very likely. 965 AngerLikelihood string `json:"angerLikelihood,omitempty"` 966 // BlurredLikelihood: Blurred likelihood. 967 // 968 // Possible values: 969 // "UNKNOWN" - Unknown likelihood. 970 // "VERY_UNLIKELY" - It is very unlikely. 971 // "UNLIKELY" - It is unlikely. 972 // "POSSIBLE" - It is possible. 973 // "LIKELY" - It is likely. 974 // "VERY_LIKELY" - It is very likely. 975 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 976 // BoundingPoly: The bounding polygon around the face. The coordinates of the 977 // bounding box are in the original image's scale. The bounding box is computed 978 // to "frame" the face in accordance with human expectations. It is based on 979 // the landmarker results. Note that one or more x and/or y coordinates may not 980 // be generated in the `BoundingPoly` (the polygon will be unbounded) if only a 981 // partial face appears in the image to be annotated. 982 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 983 // DetectionConfidence: Detection confidence. Range [0, 1]. 984 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 985 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter than the 986 // `boundingPoly`, and encloses only the skin part of the face. Typically, it 987 // is used to eliminate the face from any image analysis that detects the 988 // "amount of skin" visible in an image. It is not based on the landmarker 989 // results, only on the initial face detection, hence the fd (face detection) 990 // prefix. 991 FdBoundingPoly *BoundingPoly `json:"fdBoundingPoly,omitempty"` 992 // HeadwearLikelihood: Headwear likelihood. 993 // 994 // Possible values: 995 // "UNKNOWN" - Unknown likelihood. 996 // "VERY_UNLIKELY" - It is very unlikely. 997 // "UNLIKELY" - It is unlikely. 998 // "POSSIBLE" - It is possible. 999 // "LIKELY" - It is likely. 1000 // "VERY_LIKELY" - It is very likely. 1001 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 1002 // JoyLikelihood: Joy likelihood. 1003 // 1004 // Possible values: 1005 // "UNKNOWN" - Unknown likelihood. 1006 // "VERY_UNLIKELY" - It is very unlikely. 1007 // "UNLIKELY" - It is unlikely. 1008 // "POSSIBLE" - It is possible. 1009 // "LIKELY" - It is likely. 1010 // "VERY_LIKELY" - It is very likely. 1011 JoyLikelihood string `json:"joyLikelihood,omitempty"` 1012 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 1013 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 1014 // Landmarks: Detected face landmarks. 1015 Landmarks []*Landmark `json:"landmarks,omitempty"` 1016 // PanAngle: Yaw angle, which indicates the leftward/rightward angle that the 1017 // face is pointing relative to the vertical plane perpendicular to the image. 1018 // Range [-180,180]. 1019 PanAngle float64 `json:"panAngle,omitempty"` 1020 // RollAngle: Roll angle, which indicates the amount of 1021 // clockwise/anti-clockwise rotation of the face relative to the image vertical 1022 // about the axis perpendicular to the face. Range [-180,180]. 1023 RollAngle float64 `json:"rollAngle,omitempty"` 1024 // SorrowLikelihood: Sorrow likelihood. 1025 // 1026 // Possible values: 1027 // "UNKNOWN" - Unknown likelihood. 1028 // "VERY_UNLIKELY" - It is very unlikely. 1029 // "UNLIKELY" - It is unlikely. 1030 // "POSSIBLE" - It is possible. 1031 // "LIKELY" - It is likely. 1032 // "VERY_LIKELY" - It is very likely. 1033 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 1034 // SurpriseLikelihood: Surprise likelihood. 1035 // 1036 // Possible values: 1037 // "UNKNOWN" - Unknown likelihood. 1038 // "VERY_UNLIKELY" - It is very unlikely. 1039 // "UNLIKELY" - It is unlikely. 1040 // "POSSIBLE" - It is possible. 1041 // "LIKELY" - It is likely. 1042 // "VERY_LIKELY" - It is very likely. 1043 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 1044 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle that the 1045 // face is pointing relative to the image's horizontal plane. Range [-180,180]. 1046 TiltAngle float64 `json:"tiltAngle,omitempty"` 1047 // UnderExposedLikelihood: Under-exposed likelihood. 1048 // 1049 // Possible values: 1050 // "UNKNOWN" - Unknown likelihood. 1051 // "VERY_UNLIKELY" - It is very unlikely. 1052 // "UNLIKELY" - It is unlikely. 1053 // "POSSIBLE" - It is possible. 1054 // "LIKELY" - It is likely. 1055 // "VERY_LIKELY" - It is very likely. 1056 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 1057 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 1058 // unconditionally include in API requests. By default, fields with empty or 1059 // default values are omitted from API requests. See 1060 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1061 // details. 1062 ForceSendFields []string `json:"-"` 1063 // NullFields is a list of field names (e.g. "AngerLikelihood") to include in 1064 // API requests with the JSON null value. By default, fields with empty values 1065 // are omitted from API requests. See 1066 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1067 NullFields []string `json:"-"` 1068 } 1069 1070 func (s *FaceAnnotation) MarshalJSON() ([]byte, error) { 1071 type NoMethod FaceAnnotation 1072 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1073 } 1074 1075 func (s *FaceAnnotation) UnmarshalJSON(data []byte) error { 1076 type NoMethod FaceAnnotation 1077 var s1 struct { 1078 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 1079 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 1080 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 1081 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 1082 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 1083 *NoMethod 1084 } 1085 s1.NoMethod = (*NoMethod)(s) 1086 if err := json.Unmarshal(data, &s1); err != nil { 1087 return err 1088 } 1089 s.DetectionConfidence = float64(s1.DetectionConfidence) 1090 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 1091 s.PanAngle = float64(s1.PanAngle) 1092 s.RollAngle = float64(s1.RollAngle) 1093 s.TiltAngle = float64(s1.TiltAngle) 1094 return nil 1095 } 1096 1097 // GcsDestination: The Google Cloud Storage location where the output will be 1098 // written to. 1099 type GcsDestination struct { 1100 // Uri: Google Cloud Storage URI prefix where the results will be stored. 1101 // Results will be in JSON format and preceded by its corresponding input URI 1102 // prefix. This field can either represent a gcs file prefix or gcs directory. 1103 // In either case, the uri should be unique because in order to get all of the 1104 // output files, you will need to do a wildcard gcs search on the uri prefix 1105 // you provide. Examples: * File Prefix: gs://bucket-name/here/filenameprefix 1106 // The output files will be created in gs://bucket-name/here/ and the names of 1107 // the output files will begin with "filenameprefix". * Directory Prefix: 1108 // gs://bucket-name/some/location/ The output files will be created in 1109 // gs://bucket-name/some/location/ and the names of the output files could be 1110 // anything because there was no filename prefix specified. If multiple 1111 // outputs, each response is still AnnotateFileResponse, each of which contains 1112 // some subset of the full list of AnnotateImageResponse. Multiple outputs can 1113 // happen if, for example, the output JSON is too large and overflows into 1114 // multiple sharded files. 1115 Uri string `json:"uri,omitempty"` 1116 // ForceSendFields is a list of field names (e.g. "Uri") to unconditionally 1117 // include in API requests. By default, fields with empty or default values are 1118 // omitted from API requests. See 1119 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1120 // details. 1121 ForceSendFields []string `json:"-"` 1122 // NullFields is a list of field names (e.g. "Uri") to include in API requests 1123 // with the JSON null value. By default, fields with empty values are omitted 1124 // from API requests. See 1125 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1126 NullFields []string `json:"-"` 1127 } 1128 1129 func (s *GcsDestination) MarshalJSON() ([]byte, error) { 1130 type NoMethod GcsDestination 1131 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1132 } 1133 1134 // GcsSource: The Google Cloud Storage location where the input will be read 1135 // from. 1136 type GcsSource struct { 1137 // Uri: Google Cloud Storage URI for the input file. This must only be a Google 1138 // Cloud Storage object. Wildcards are not currently supported. 1139 Uri string `json:"uri,omitempty"` 1140 // ForceSendFields is a list of field names (e.g. "Uri") to unconditionally 1141 // include in API requests. By default, fields with empty or default values are 1142 // omitted from API requests. See 1143 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1144 // details. 1145 ForceSendFields []string `json:"-"` 1146 // NullFields is a list of field names (e.g. "Uri") to include in API requests 1147 // with the JSON null value. By default, fields with empty values are omitted 1148 // from API requests. See 1149 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1150 NullFields []string `json:"-"` 1151 } 1152 1153 func (s *GcsSource) MarshalJSON() ([]byte, error) { 1154 type NoMethod GcsSource 1155 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1156 } 1157 1158 // GoogleCloudVisionV1p1beta1AnnotateFileRequest: A request to annotate one 1159 // single file, e.g. a PDF, TIFF or GIF file. 1160 type GoogleCloudVisionV1p1beta1AnnotateFileRequest struct { 1161 // Features: Required. Requested features. 1162 Features []*GoogleCloudVisionV1p1beta1Feature `json:"features,omitempty"` 1163 // ImageContext: Additional context that may accompany the image(s) in the 1164 // file. 1165 ImageContext *GoogleCloudVisionV1p1beta1ImageContext `json:"imageContext,omitempty"` 1166 // InputConfig: Required. Information about the input file. 1167 InputConfig *GoogleCloudVisionV1p1beta1InputConfig `json:"inputConfig,omitempty"` 1168 // Pages: Pages of the file to perform image annotation. Pages starts from 1, 1169 // we assume the first page of the file is page 1. At most 5 pages are 1170 // supported per request. Pages can be negative. Page 1 means the first page. 1171 // Page 2 means the second page. Page -1 means the last page. Page -2 means the 1172 // second to the last page. If the file is GIF instead of PDF or TIFF, page 1173 // refers to GIF frames. If this field is empty, by default the service 1174 // performs image annotation for the first 5 pages of the file. 1175 Pages []int64 `json:"pages,omitempty"` 1176 // ForceSendFields is a list of field names (e.g. "Features") to 1177 // unconditionally include in API requests. By default, fields with empty or 1178 // default values are omitted from API requests. See 1179 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1180 // details. 1181 ForceSendFields []string `json:"-"` 1182 // NullFields is a list of field names (e.g. "Features") to include in API 1183 // requests with the JSON null value. By default, fields with empty values are 1184 // omitted from API requests. See 1185 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1186 NullFields []string `json:"-"` 1187 } 1188 1189 func (s *GoogleCloudVisionV1p1beta1AnnotateFileRequest) MarshalJSON() ([]byte, error) { 1190 type NoMethod GoogleCloudVisionV1p1beta1AnnotateFileRequest 1191 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1192 } 1193 1194 // GoogleCloudVisionV1p1beta1AnnotateFileResponse: Response to a single file 1195 // annotation request. A file may contain one or more images, which 1196 // individually have their own responses. 1197 type GoogleCloudVisionV1p1beta1AnnotateFileResponse struct { 1198 // Error: If set, represents the error message for the failed request. The 1199 // `responses` field will not be set in this case. 1200 Error *Status `json:"error,omitempty"` 1201 // InputConfig: Information about the file for which this response is 1202 // generated. 1203 InputConfig *GoogleCloudVisionV1p1beta1InputConfig `json:"inputConfig,omitempty"` 1204 // Responses: Individual responses to images found within the file. This field 1205 // will be empty if the `error` field is set. 1206 Responses []*GoogleCloudVisionV1p1beta1AnnotateImageResponse `json:"responses,omitempty"` 1207 // TotalPages: This field gives the total number of pages in the file. 1208 TotalPages int64 `json:"totalPages,omitempty"` 1209 // ForceSendFields is a list of field names (e.g. "Error") to unconditionally 1210 // include in API requests. By default, fields with empty or default values are 1211 // omitted from API requests. See 1212 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1213 // details. 1214 ForceSendFields []string `json:"-"` 1215 // NullFields is a list of field names (e.g. "Error") to include in API 1216 // requests with the JSON null value. By default, fields with empty values are 1217 // omitted from API requests. See 1218 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1219 NullFields []string `json:"-"` 1220 } 1221 1222 func (s *GoogleCloudVisionV1p1beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 1223 type NoMethod GoogleCloudVisionV1p1beta1AnnotateFileResponse 1224 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1225 } 1226 1227 // GoogleCloudVisionV1p1beta1AnnotateImageRequest: Request for performing 1228 // Google Cloud Vision API tasks over a user-provided image, with 1229 // user-requested features, and with context information. 1230 type GoogleCloudVisionV1p1beta1AnnotateImageRequest struct { 1231 // Features: Requested features. 1232 Features []*GoogleCloudVisionV1p1beta1Feature `json:"features,omitempty"` 1233 // Image: The image to be processed. 1234 Image *GoogleCloudVisionV1p1beta1Image `json:"image,omitempty"` 1235 // ImageContext: Additional context that may accompany the image. 1236 ImageContext *GoogleCloudVisionV1p1beta1ImageContext `json:"imageContext,omitempty"` 1237 // ForceSendFields is a list of field names (e.g. "Features") to 1238 // unconditionally include in API requests. By default, fields with empty or 1239 // default values are omitted from API requests. See 1240 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1241 // details. 1242 ForceSendFields []string `json:"-"` 1243 // NullFields is a list of field names (e.g. "Features") to include in API 1244 // requests with the JSON null value. By default, fields with empty values are 1245 // omitted from API requests. See 1246 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1247 NullFields []string `json:"-"` 1248 } 1249 1250 func (s *GoogleCloudVisionV1p1beta1AnnotateImageRequest) MarshalJSON() ([]byte, error) { 1251 type NoMethod GoogleCloudVisionV1p1beta1AnnotateImageRequest 1252 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1253 } 1254 1255 // GoogleCloudVisionV1p1beta1AnnotateImageResponse: Response to an image 1256 // annotation request. 1257 type GoogleCloudVisionV1p1beta1AnnotateImageResponse struct { 1258 // Context: If present, contextual information is needed to understand where 1259 // this image comes from. 1260 Context *GoogleCloudVisionV1p1beta1ImageAnnotationContext `json:"context,omitempty"` 1261 // CropHintsAnnotation: If present, crop hints have completed successfully. 1262 CropHintsAnnotation *GoogleCloudVisionV1p1beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 1263 // Error: If set, represents the error message for the operation. Note that 1264 // filled-in image annotations are guaranteed to be correct, even when `error` 1265 // is set. 1266 Error *Status `json:"error,omitempty"` 1267 // FaceAnnotations: If present, face detection has completed successfully. 1268 FaceAnnotations []*GoogleCloudVisionV1p1beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 1269 // FullTextAnnotation: If present, text (OCR) detection or document (OCR) text 1270 // detection has completed successfully. This annotation provides the 1271 // structural hierarchy for the OCR detected text. 1272 FullTextAnnotation *GoogleCloudVisionV1p1beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 1273 // ImagePropertiesAnnotation: If present, image properties were extracted 1274 // successfully. 1275 ImagePropertiesAnnotation *GoogleCloudVisionV1p1beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 1276 // LabelAnnotations: If present, label detection has completed successfully. 1277 LabelAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 1278 // LandmarkAnnotations: If present, landmark detection has completed 1279 // successfully. 1280 LandmarkAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 1281 // LocalizedObjectAnnotations: If present, localized object detection has 1282 // completed successfully. This will be sorted descending by confidence score. 1283 LocalizedObjectAnnotations []*GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 1284 // LogoAnnotations: If present, logo detection has completed successfully. 1285 LogoAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 1286 // ProductSearchResults: If present, product search has completed successfully. 1287 ProductSearchResults *GoogleCloudVisionV1p1beta1ProductSearchResults `json:"productSearchResults,omitempty"` 1288 // SafeSearchAnnotation: If present, safe-search annotation has completed 1289 // successfully. 1290 SafeSearchAnnotation *GoogleCloudVisionV1p1beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 1291 // TextAnnotations: If present, text (OCR) detection has completed 1292 // successfully. 1293 TextAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"textAnnotations,omitempty"` 1294 // WebDetection: If present, web detection has completed successfully. 1295 WebDetection *GoogleCloudVisionV1p1beta1WebDetection `json:"webDetection,omitempty"` 1296 // ForceSendFields is a list of field names (e.g. "Context") to unconditionally 1297 // include in API requests. By default, fields with empty or default values are 1298 // omitted from API requests. See 1299 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1300 // details. 1301 ForceSendFields []string `json:"-"` 1302 // NullFields is a list of field names (e.g. "Context") to include in API 1303 // requests with the JSON null value. By default, fields with empty values are 1304 // omitted from API requests. See 1305 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1306 NullFields []string `json:"-"` 1307 } 1308 1309 func (s *GoogleCloudVisionV1p1beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 1310 type NoMethod GoogleCloudVisionV1p1beta1AnnotateImageResponse 1311 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1312 } 1313 1314 // GoogleCloudVisionV1p1beta1AsyncAnnotateFileRequest: An offline file 1315 // annotation request. 1316 type GoogleCloudVisionV1p1beta1AsyncAnnotateFileRequest struct { 1317 // Features: Required. Requested features. 1318 Features []*GoogleCloudVisionV1p1beta1Feature `json:"features,omitempty"` 1319 // ImageContext: Additional context that may accompany the image(s) in the 1320 // file. 1321 ImageContext *GoogleCloudVisionV1p1beta1ImageContext `json:"imageContext,omitempty"` 1322 // InputConfig: Required. Information about the input file. 1323 InputConfig *GoogleCloudVisionV1p1beta1InputConfig `json:"inputConfig,omitempty"` 1324 // OutputConfig: Required. The desired output location and metadata (e.g. 1325 // format). 1326 OutputConfig *GoogleCloudVisionV1p1beta1OutputConfig `json:"outputConfig,omitempty"` 1327 // ForceSendFields is a list of field names (e.g. "Features") to 1328 // unconditionally include in API requests. By default, fields with empty or 1329 // default values are omitted from API requests. See 1330 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1331 // details. 1332 ForceSendFields []string `json:"-"` 1333 // NullFields is a list of field names (e.g. "Features") to include in API 1334 // requests with the JSON null value. By default, fields with empty values are 1335 // omitted from API requests. See 1336 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1337 NullFields []string `json:"-"` 1338 } 1339 1340 func (s *GoogleCloudVisionV1p1beta1AsyncAnnotateFileRequest) MarshalJSON() ([]byte, error) { 1341 type NoMethod GoogleCloudVisionV1p1beta1AsyncAnnotateFileRequest 1342 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1343 } 1344 1345 // GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse: The response for a 1346 // single offline file annotation request. 1347 type GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse struct { 1348 // OutputConfig: The output location and metadata from 1349 // AsyncAnnotateFileRequest. 1350 OutputConfig *GoogleCloudVisionV1p1beta1OutputConfig `json:"outputConfig,omitempty"` 1351 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 1352 // unconditionally include in API requests. By default, fields with empty or 1353 // default values are omitted from API requests. See 1354 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1355 // details. 1356 ForceSendFields []string `json:"-"` 1357 // NullFields is a list of field names (e.g. "OutputConfig") to include in API 1358 // requests with the JSON null value. By default, fields with empty values are 1359 // omitted from API requests. See 1360 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1361 NullFields []string `json:"-"` 1362 } 1363 1364 func (s *GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 1365 type NoMethod GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse 1366 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1367 } 1368 1369 // GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest: Multiple async 1370 // file annotation requests are batched into a single service call. 1371 type GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest struct { 1372 // Labels: Optional. The labels with user-defined metadata for the request. 1373 // Label keys and values can be no longer than 63 characters (Unicode 1374 // codepoints), can only contain lowercase letters, numeric characters, 1375 // underscores and dashes. International characters are allowed. Label values 1376 // are optional. Label keys must start with a letter. 1377 Labels map[string]string `json:"labels,omitempty"` 1378 // Parent: Optional. Target project and location to make a call. Format: 1379 // `projects/{project-id}/locations/{location-id}`. If no parent is specified, 1380 // a region will be chosen automatically. Supported location-ids: `us`: USA 1381 // country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The 1382 // European Union. Example: `projects/project-A/locations/eu`. 1383 Parent string `json:"parent,omitempty"` 1384 // Requests: Required. Individual async file annotation requests for this 1385 // batch. 1386 Requests []*GoogleCloudVisionV1p1beta1AsyncAnnotateFileRequest `json:"requests,omitempty"` 1387 // ForceSendFields is a list of field names (e.g. "Labels") to unconditionally 1388 // include in API requests. By default, fields with empty or default values are 1389 // omitted from API requests. See 1390 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1391 // details. 1392 ForceSendFields []string `json:"-"` 1393 // NullFields is a list of field names (e.g. "Labels") to include in API 1394 // requests with the JSON null value. By default, fields with empty values are 1395 // omitted from API requests. See 1396 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1397 NullFields []string `json:"-"` 1398 } 1399 1400 func (s *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest) MarshalJSON() ([]byte, error) { 1401 type NoMethod GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest 1402 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1403 } 1404 1405 // GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse: Response to an 1406 // async batch file annotation request. 1407 type GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse struct { 1408 // Responses: The list of file annotation responses, one for each request in 1409 // AsyncBatchAnnotateFilesRequest. 1410 Responses []*GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 1411 // ForceSendFields is a list of field names (e.g. "Responses") to 1412 // unconditionally include in API requests. By default, fields with empty or 1413 // default values are omitted from API requests. See 1414 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1415 // details. 1416 ForceSendFields []string `json:"-"` 1417 // NullFields is a list of field names (e.g. "Responses") to include in API 1418 // requests with the JSON null value. By default, fields with empty values are 1419 // omitted from API requests. See 1420 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1421 NullFields []string `json:"-"` 1422 } 1423 1424 func (s *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 1425 type NoMethod GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse 1426 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1427 } 1428 1429 // GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest: Request for async 1430 // image annotation for a list of images. 1431 type GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest struct { 1432 // Labels: Optional. The labels with user-defined metadata for the request. 1433 // Label keys and values can be no longer than 63 characters (Unicode 1434 // codepoints), can only contain lowercase letters, numeric characters, 1435 // underscores and dashes. International characters are allowed. Label values 1436 // are optional. Label keys must start with a letter. 1437 Labels map[string]string `json:"labels,omitempty"` 1438 // OutputConfig: Required. The desired output location and metadata (e.g. 1439 // format). 1440 OutputConfig *GoogleCloudVisionV1p1beta1OutputConfig `json:"outputConfig,omitempty"` 1441 // Parent: Optional. Target project and location to make a call. Format: 1442 // `projects/{project-id}/locations/{location-id}`. If no parent is specified, 1443 // a region will be chosen automatically. Supported location-ids: `us`: USA 1444 // country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The 1445 // European Union. Example: `projects/project-A/locations/eu`. 1446 Parent string `json:"parent,omitempty"` 1447 // Requests: Required. Individual image annotation requests for this batch. 1448 Requests []*GoogleCloudVisionV1p1beta1AnnotateImageRequest `json:"requests,omitempty"` 1449 // ForceSendFields is a list of field names (e.g. "Labels") to unconditionally 1450 // include in API requests. By default, fields with empty or default values are 1451 // omitted from API requests. See 1452 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1453 // details. 1454 ForceSendFields []string `json:"-"` 1455 // NullFields is a list of field names (e.g. "Labels") to include in API 1456 // requests with the JSON null value. By default, fields with empty values are 1457 // omitted from API requests. See 1458 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1459 NullFields []string `json:"-"` 1460 } 1461 1462 func (s *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest) MarshalJSON() ([]byte, error) { 1463 type NoMethod GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest 1464 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1465 } 1466 1467 // GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest: A list of requests to 1468 // annotate files using the BatchAnnotateFiles API. 1469 type GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest struct { 1470 // Labels: Optional. The labels with user-defined metadata for the request. 1471 // Label keys and values can be no longer than 63 characters (Unicode 1472 // codepoints), can only contain lowercase letters, numeric characters, 1473 // underscores and dashes. International characters are allowed. Label values 1474 // are optional. Label keys must start with a letter. 1475 Labels map[string]string `json:"labels,omitempty"` 1476 // Parent: Optional. Target project and location to make a call. Format: 1477 // `projects/{project-id}/locations/{location-id}`. If no parent is specified, 1478 // a region will be chosen automatically. Supported location-ids: `us`: USA 1479 // country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The 1480 // European Union. Example: `projects/project-A/locations/eu`. 1481 Parent string `json:"parent,omitempty"` 1482 // Requests: Required. The list of file annotation requests. Right now we 1483 // support only one AnnotateFileRequest in BatchAnnotateFilesRequest. 1484 Requests []*GoogleCloudVisionV1p1beta1AnnotateFileRequest `json:"requests,omitempty"` 1485 // ForceSendFields is a list of field names (e.g. "Labels") to unconditionally 1486 // include in API requests. By default, fields with empty or default values are 1487 // omitted from API requests. See 1488 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1489 // details. 1490 ForceSendFields []string `json:"-"` 1491 // NullFields is a list of field names (e.g. "Labels") to include in API 1492 // requests with the JSON null value. By default, fields with empty values are 1493 // omitted from API requests. See 1494 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1495 NullFields []string `json:"-"` 1496 } 1497 1498 func (s *GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest) MarshalJSON() ([]byte, error) { 1499 type NoMethod GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest 1500 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1501 } 1502 1503 // GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse: A list of file 1504 // annotation responses. 1505 type GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse struct { 1506 // Responses: The list of file annotation responses, each response 1507 // corresponding to each AnnotateFileRequest in BatchAnnotateFilesRequest. 1508 Responses []*GoogleCloudVisionV1p1beta1AnnotateFileResponse `json:"responses,omitempty"` 1509 1510 // ServerResponse contains the HTTP response code and headers from the server. 1511 googleapi.ServerResponse `json:"-"` 1512 // ForceSendFields is a list of field names (e.g. "Responses") to 1513 // unconditionally include in API requests. By default, fields with empty or 1514 // default values are omitted from API requests. See 1515 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1516 // details. 1517 ForceSendFields []string `json:"-"` 1518 // NullFields is a list of field names (e.g. "Responses") to include in API 1519 // requests with the JSON null value. By default, fields with empty values are 1520 // omitted from API requests. See 1521 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1522 NullFields []string `json:"-"` 1523 } 1524 1525 func (s *GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 1526 type NoMethod GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse 1527 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1528 } 1529 1530 // GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest: Multiple image 1531 // annotation requests are batched into a single service call. 1532 type GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest struct { 1533 // Labels: Optional. The labels with user-defined metadata for the request. 1534 // Label keys and values can be no longer than 63 characters (Unicode 1535 // codepoints), can only contain lowercase letters, numeric characters, 1536 // underscores and dashes. International characters are allowed. Label values 1537 // are optional. Label keys must start with a letter. 1538 Labels map[string]string `json:"labels,omitempty"` 1539 // Parent: Optional. Target project and location to make a call. Format: 1540 // `projects/{project-id}/locations/{location-id}`. If no parent is specified, 1541 // a region will be chosen automatically. Supported location-ids: `us`: USA 1542 // country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: The 1543 // European Union. Example: `projects/project-A/locations/eu`. 1544 Parent string `json:"parent,omitempty"` 1545 // Requests: Required. Individual image annotation requests for this batch. 1546 Requests []*GoogleCloudVisionV1p1beta1AnnotateImageRequest `json:"requests,omitempty"` 1547 // ForceSendFields is a list of field names (e.g. "Labels") to unconditionally 1548 // include in API requests. By default, fields with empty or default values are 1549 // omitted from API requests. See 1550 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1551 // details. 1552 ForceSendFields []string `json:"-"` 1553 // NullFields is a list of field names (e.g. "Labels") to include in API 1554 // requests with the JSON null value. By default, fields with empty values are 1555 // omitted from API requests. See 1556 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1557 NullFields []string `json:"-"` 1558 } 1559 1560 func (s *GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest) MarshalJSON() ([]byte, error) { 1561 type NoMethod GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest 1562 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1563 } 1564 1565 // GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse: Response to a batch 1566 // image annotation request. 1567 type GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse struct { 1568 // Responses: Individual responses to image annotation requests within the 1569 // batch. 1570 Responses []*GoogleCloudVisionV1p1beta1AnnotateImageResponse `json:"responses,omitempty"` 1571 1572 // ServerResponse contains the HTTP response code and headers from the server. 1573 googleapi.ServerResponse `json:"-"` 1574 // ForceSendFields is a list of field names (e.g. "Responses") to 1575 // unconditionally include in API requests. By default, fields with empty or 1576 // default values are omitted from API requests. See 1577 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1578 // details. 1579 ForceSendFields []string `json:"-"` 1580 // NullFields is a list of field names (e.g. "Responses") to include in API 1581 // requests with the JSON null value. By default, fields with empty values are 1582 // omitted from API requests. See 1583 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1584 NullFields []string `json:"-"` 1585 } 1586 1587 func (s *GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 1588 type NoMethod GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse 1589 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1590 } 1591 1592 // GoogleCloudVisionV1p1beta1Block: Logical element on the page. 1593 type GoogleCloudVisionV1p1beta1Block struct { 1594 // BlockType: Detected block type (text, image etc) for this block. 1595 // 1596 // Possible values: 1597 // "UNKNOWN" - Unknown block type. 1598 // "TEXT" - Regular text block. 1599 // "TABLE" - Table block. 1600 // "PICTURE" - Image block. 1601 // "RULER" - Horizontal/vertical line box. 1602 // "BARCODE" - Barcode block. 1603 BlockType string `json:"blockType,omitempty"` 1604 // BoundingBox: The bounding box for the block. The vertices are in the order 1605 // of top-left, top-right, bottom-right, bottom-left. When a rotation of the 1606 // bounding box is detected the rotation is represented as around the top-left 1607 // corner as defined when the text is read in the 'natural' orientation. For 1608 // example: * when the text is horizontal it might look like: 0----1 | | 3----2 1609 // * when it's rotated 180 degrees around the top-left corner it becomes: 1610 // 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). 1611 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 1612 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 1613 Confidence float64 `json:"confidence,omitempty"` 1614 // Paragraphs: List of paragraphs in this block (if this blocks is of type 1615 // text). 1616 Paragraphs []*GoogleCloudVisionV1p1beta1Paragraph `json:"paragraphs,omitempty"` 1617 // Property: Additional information detected for the block. 1618 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 1619 // ForceSendFields is a list of field names (e.g. "BlockType") to 1620 // unconditionally include in API requests. By default, fields with empty or 1621 // default values are omitted from API requests. See 1622 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1623 // details. 1624 ForceSendFields []string `json:"-"` 1625 // NullFields is a list of field names (e.g. "BlockType") to include in API 1626 // requests with the JSON null value. By default, fields with empty values are 1627 // omitted from API requests. See 1628 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1629 NullFields []string `json:"-"` 1630 } 1631 1632 func (s *GoogleCloudVisionV1p1beta1Block) MarshalJSON() ([]byte, error) { 1633 type NoMethod GoogleCloudVisionV1p1beta1Block 1634 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1635 } 1636 1637 func (s *GoogleCloudVisionV1p1beta1Block) UnmarshalJSON(data []byte) error { 1638 type NoMethod GoogleCloudVisionV1p1beta1Block 1639 var s1 struct { 1640 Confidence gensupport.JSONFloat64 `json:"confidence"` 1641 *NoMethod 1642 } 1643 s1.NoMethod = (*NoMethod)(s) 1644 if err := json.Unmarshal(data, &s1); err != nil { 1645 return err 1646 } 1647 s.Confidence = float64(s1.Confidence) 1648 return nil 1649 } 1650 1651 // GoogleCloudVisionV1p1beta1BoundingPoly: A bounding polygon for the detected 1652 // image annotation. 1653 type GoogleCloudVisionV1p1beta1BoundingPoly struct { 1654 // NormalizedVertices: The bounding polygon normalized vertices. 1655 NormalizedVertices []*GoogleCloudVisionV1p1beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 1656 // Vertices: The bounding polygon vertices. 1657 Vertices []*GoogleCloudVisionV1p1beta1Vertex `json:"vertices,omitempty"` 1658 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") to 1659 // unconditionally include in API requests. By default, fields with empty or 1660 // default values are omitted from API requests. See 1661 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1662 // details. 1663 ForceSendFields []string `json:"-"` 1664 // NullFields is a list of field names (e.g. "NormalizedVertices") to include 1665 // in API requests with the JSON null value. By default, fields with empty 1666 // values are omitted from API requests. See 1667 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1668 NullFields []string `json:"-"` 1669 } 1670 1671 func (s *GoogleCloudVisionV1p1beta1BoundingPoly) MarshalJSON() ([]byte, error) { 1672 type NoMethod GoogleCloudVisionV1p1beta1BoundingPoly 1673 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1674 } 1675 1676 // GoogleCloudVisionV1p1beta1ColorInfo: Color information consists of RGB 1677 // channels, score, and the fraction of the image that the color occupies in 1678 // the image. 1679 type GoogleCloudVisionV1p1beta1ColorInfo struct { 1680 // Color: RGB components of the color. 1681 Color *Color `json:"color,omitempty"` 1682 // PixelFraction: The fraction of pixels the color occupies in the image. Value 1683 // in range [0, 1]. 1684 PixelFraction float64 `json:"pixelFraction,omitempty"` 1685 // Score: Image-specific score for this color. Value in range [0, 1]. 1686 Score float64 `json:"score,omitempty"` 1687 // ForceSendFields is a list of field names (e.g. "Color") to unconditionally 1688 // include in API requests. By default, fields with empty or default values are 1689 // omitted from API requests. See 1690 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1691 // details. 1692 ForceSendFields []string `json:"-"` 1693 // NullFields is a list of field names (e.g. "Color") to include in API 1694 // requests with the JSON null value. By default, fields with empty values are 1695 // omitted from API requests. See 1696 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1697 NullFields []string `json:"-"` 1698 } 1699 1700 func (s *GoogleCloudVisionV1p1beta1ColorInfo) MarshalJSON() ([]byte, error) { 1701 type NoMethod GoogleCloudVisionV1p1beta1ColorInfo 1702 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1703 } 1704 1705 func (s *GoogleCloudVisionV1p1beta1ColorInfo) UnmarshalJSON(data []byte) error { 1706 type NoMethod GoogleCloudVisionV1p1beta1ColorInfo 1707 var s1 struct { 1708 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 1709 Score gensupport.JSONFloat64 `json:"score"` 1710 *NoMethod 1711 } 1712 s1.NoMethod = (*NoMethod)(s) 1713 if err := json.Unmarshal(data, &s1); err != nil { 1714 return err 1715 } 1716 s.PixelFraction = float64(s1.PixelFraction) 1717 s.Score = float64(s1.Score) 1718 return nil 1719 } 1720 1721 // GoogleCloudVisionV1p1beta1CropHint: Single crop hint that is used to 1722 // generate a new crop when serving an image. 1723 type GoogleCloudVisionV1p1beta1CropHint struct { 1724 // BoundingPoly: The bounding polygon for the crop region. The coordinates of 1725 // the bounding box are in the original image's scale. 1726 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 1727 // Confidence: Confidence of this being a salient region. Range [0, 1]. 1728 Confidence float64 `json:"confidence,omitempty"` 1729 // ImportanceFraction: Fraction of importance of this salient region with 1730 // respect to the original image. 1731 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 1732 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 1733 // unconditionally include in API requests. By default, fields with empty or 1734 // default values are omitted from API requests. See 1735 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1736 // details. 1737 ForceSendFields []string `json:"-"` 1738 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 1739 // requests with the JSON null value. By default, fields with empty values are 1740 // omitted from API requests. See 1741 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1742 NullFields []string `json:"-"` 1743 } 1744 1745 func (s *GoogleCloudVisionV1p1beta1CropHint) MarshalJSON() ([]byte, error) { 1746 type NoMethod GoogleCloudVisionV1p1beta1CropHint 1747 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1748 } 1749 1750 func (s *GoogleCloudVisionV1p1beta1CropHint) UnmarshalJSON(data []byte) error { 1751 type NoMethod GoogleCloudVisionV1p1beta1CropHint 1752 var s1 struct { 1753 Confidence gensupport.JSONFloat64 `json:"confidence"` 1754 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 1755 *NoMethod 1756 } 1757 s1.NoMethod = (*NoMethod)(s) 1758 if err := json.Unmarshal(data, &s1); err != nil { 1759 return err 1760 } 1761 s.Confidence = float64(s1.Confidence) 1762 s.ImportanceFraction = float64(s1.ImportanceFraction) 1763 return nil 1764 } 1765 1766 // GoogleCloudVisionV1p1beta1CropHintsAnnotation: Set of crop hints that are 1767 // used to generate new crops when serving images. 1768 type GoogleCloudVisionV1p1beta1CropHintsAnnotation struct { 1769 // CropHints: Crop hint results. 1770 CropHints []*GoogleCloudVisionV1p1beta1CropHint `json:"cropHints,omitempty"` 1771 // ForceSendFields is a list of field names (e.g. "CropHints") to 1772 // unconditionally include in API requests. By default, fields with empty or 1773 // default values are omitted from API requests. See 1774 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1775 // details. 1776 ForceSendFields []string `json:"-"` 1777 // NullFields is a list of field names (e.g. "CropHints") to include in API 1778 // requests with the JSON null value. By default, fields with empty values are 1779 // omitted from API requests. See 1780 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1781 NullFields []string `json:"-"` 1782 } 1783 1784 func (s *GoogleCloudVisionV1p1beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 1785 type NoMethod GoogleCloudVisionV1p1beta1CropHintsAnnotation 1786 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1787 } 1788 1789 // GoogleCloudVisionV1p1beta1CropHintsParams: Parameters for crop hints 1790 // annotation request. 1791 type GoogleCloudVisionV1p1beta1CropHintsParams struct { 1792 // AspectRatios: Aspect ratios in floats, representing the ratio of the width 1793 // to the height of the image. For example, if the desired aspect ratio is 4/3, 1794 // the corresponding float value should be 1.33333. If not specified, the best 1795 // possible crop is returned. The number of provided aspect ratios is limited 1796 // to a maximum of 16; any aspect ratios provided after the 16th are ignored. 1797 AspectRatios []float64 `json:"aspectRatios,omitempty"` 1798 // ForceSendFields is a list of field names (e.g. "AspectRatios") to 1799 // unconditionally include in API requests. By default, fields with empty or 1800 // default values are omitted from API requests. See 1801 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1802 // details. 1803 ForceSendFields []string `json:"-"` 1804 // NullFields is a list of field names (e.g. "AspectRatios") to include in API 1805 // requests with the JSON null value. By default, fields with empty values are 1806 // omitted from API requests. See 1807 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1808 NullFields []string `json:"-"` 1809 } 1810 1811 func (s *GoogleCloudVisionV1p1beta1CropHintsParams) MarshalJSON() ([]byte, error) { 1812 type NoMethod GoogleCloudVisionV1p1beta1CropHintsParams 1813 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1814 } 1815 1816 func (s *GoogleCloudVisionV1p1beta1CropHintsParams) UnmarshalJSON(data []byte) error { 1817 type NoMethod GoogleCloudVisionV1p1beta1CropHintsParams 1818 var s1 struct { 1819 AspectRatios []gensupport.JSONFloat64 `json:"aspectRatios"` 1820 *NoMethod 1821 } 1822 s1.NoMethod = (*NoMethod)(s) 1823 if err := json.Unmarshal(data, &s1); err != nil { 1824 return err 1825 } 1826 s.AspectRatios = make([]float64, len(s1.AspectRatios)) 1827 for i := range s1.AspectRatios { 1828 s.AspectRatios[i] = float64(s1.AspectRatios[i]) 1829 } 1830 return nil 1831 } 1832 1833 // GoogleCloudVisionV1p1beta1DominantColorsAnnotation: Set of dominant colors 1834 // and their corresponding scores. 1835 type GoogleCloudVisionV1p1beta1DominantColorsAnnotation struct { 1836 // Colors: RGB color values with their score and pixel fraction. 1837 Colors []*GoogleCloudVisionV1p1beta1ColorInfo `json:"colors,omitempty"` 1838 // ForceSendFields is a list of field names (e.g. "Colors") to unconditionally 1839 // include in API requests. By default, fields with empty or default values are 1840 // omitted from API requests. See 1841 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1842 // details. 1843 ForceSendFields []string `json:"-"` 1844 // NullFields is a list of field names (e.g. "Colors") to include in API 1845 // requests with the JSON null value. By default, fields with empty values are 1846 // omitted from API requests. See 1847 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1848 NullFields []string `json:"-"` 1849 } 1850 1851 func (s *GoogleCloudVisionV1p1beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 1852 type NoMethod GoogleCloudVisionV1p1beta1DominantColorsAnnotation 1853 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1854 } 1855 1856 // GoogleCloudVisionV1p1beta1EntityAnnotation: Set of detected entity features. 1857 type GoogleCloudVisionV1p1beta1EntityAnnotation struct { 1858 // BoundingPoly: Image region to which this entity belongs. Not produced for 1859 // `LABEL_DETECTION` features. 1860 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 1861 // Confidence: **Deprecated. Use `score` instead.** The accuracy of the entity 1862 // detection in an image. For example, for an image in which the "Eiffel Tower" 1863 // entity is detected, this field represents the confidence that there is a 1864 // tower in the query image. Range [0, 1]. 1865 Confidence float64 `json:"confidence,omitempty"` 1866 // Description: Entity textual description, expressed in its `locale` language. 1867 Description string `json:"description,omitempty"` 1868 // Locale: The language code for the locale in which the entity textual 1869 // `description` is expressed. 1870 Locale string `json:"locale,omitempty"` 1871 // Locations: The location information for the detected entity. Multiple 1872 // `LocationInfo` elements can be present because one location may indicate the 1873 // location of the scene in the image, and another location may indicate the 1874 // location of the place where the image was taken. Location information is 1875 // usually present for landmarks. 1876 Locations []*GoogleCloudVisionV1p1beta1LocationInfo `json:"locations,omitempty"` 1877 // Mid: Opaque entity ID. Some IDs may be available in Google Knowledge Graph 1878 // Search API (https://developers.google.com/knowledge-graph/). 1879 Mid string `json:"mid,omitempty"` 1880 // Properties: Some entities may have optional user-supplied `Property` 1881 // (name/value) fields, such a score or string that qualifies the entity. 1882 Properties []*GoogleCloudVisionV1p1beta1Property `json:"properties,omitempty"` 1883 // Score: Overall score of the result. Range [0, 1]. 1884 Score float64 `json:"score,omitempty"` 1885 // Topicality: The relevancy of the ICA (Image Content Annotation) label to the 1886 // image. For example, the relevancy of "tower" is likely higher to an image 1887 // containing the detected "Eiffel Tower" than to an image containing a 1888 // detected distant towering building, even though the confidence that there is 1889 // a tower in each image may be the same. Range [0, 1]. 1890 Topicality float64 `json:"topicality,omitempty"` 1891 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 1892 // unconditionally include in API requests. By default, fields with empty or 1893 // default values are omitted from API requests. See 1894 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 1895 // details. 1896 ForceSendFields []string `json:"-"` 1897 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 1898 // requests with the JSON null value. By default, fields with empty values are 1899 // omitted from API requests. See 1900 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 1901 NullFields []string `json:"-"` 1902 } 1903 1904 func (s *GoogleCloudVisionV1p1beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 1905 type NoMethod GoogleCloudVisionV1p1beta1EntityAnnotation 1906 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 1907 } 1908 1909 func (s *GoogleCloudVisionV1p1beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 1910 type NoMethod GoogleCloudVisionV1p1beta1EntityAnnotation 1911 var s1 struct { 1912 Confidence gensupport.JSONFloat64 `json:"confidence"` 1913 Score gensupport.JSONFloat64 `json:"score"` 1914 Topicality gensupport.JSONFloat64 `json:"topicality"` 1915 *NoMethod 1916 } 1917 s1.NoMethod = (*NoMethod)(s) 1918 if err := json.Unmarshal(data, &s1); err != nil { 1919 return err 1920 } 1921 s.Confidence = float64(s1.Confidence) 1922 s.Score = float64(s1.Score) 1923 s.Topicality = float64(s1.Topicality) 1924 return nil 1925 } 1926 1927 // GoogleCloudVisionV1p1beta1FaceAnnotation: A face annotation object contains 1928 // the results of face detection. 1929 type GoogleCloudVisionV1p1beta1FaceAnnotation struct { 1930 // AngerLikelihood: Anger likelihood. 1931 // 1932 // Possible values: 1933 // "UNKNOWN" - Unknown likelihood. 1934 // "VERY_UNLIKELY" - It is very unlikely. 1935 // "UNLIKELY" - It is unlikely. 1936 // "POSSIBLE" - It is possible. 1937 // "LIKELY" - It is likely. 1938 // "VERY_LIKELY" - It is very likely. 1939 AngerLikelihood string `json:"angerLikelihood,omitempty"` 1940 // BlurredLikelihood: Blurred likelihood. 1941 // 1942 // Possible values: 1943 // "UNKNOWN" - Unknown likelihood. 1944 // "VERY_UNLIKELY" - It is very unlikely. 1945 // "UNLIKELY" - It is unlikely. 1946 // "POSSIBLE" - It is possible. 1947 // "LIKELY" - It is likely. 1948 // "VERY_LIKELY" - It is very likely. 1949 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 1950 // BoundingPoly: The bounding polygon around the face. The coordinates of the 1951 // bounding box are in the original image's scale. The bounding box is computed 1952 // to "frame" the face in accordance with human expectations. It is based on 1953 // the landmarker results. Note that one or more x and/or y coordinates may not 1954 // be generated in the `BoundingPoly` (the polygon will be unbounded) if only a 1955 // partial face appears in the image to be annotated. 1956 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 1957 // DetectionConfidence: Detection confidence. Range [0, 1]. 1958 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 1959 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter than the 1960 // `boundingPoly`, and encloses only the skin part of the face. Typically, it 1961 // is used to eliminate the face from any image analysis that detects the 1962 // "amount of skin" visible in an image. It is not based on the landmarker 1963 // results, only on the initial face detection, hence the fd (face detection) 1964 // prefix. 1965 FdBoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 1966 // HeadwearLikelihood: Headwear likelihood. 1967 // 1968 // Possible values: 1969 // "UNKNOWN" - Unknown likelihood. 1970 // "VERY_UNLIKELY" - It is very unlikely. 1971 // "UNLIKELY" - It is unlikely. 1972 // "POSSIBLE" - It is possible. 1973 // "LIKELY" - It is likely. 1974 // "VERY_LIKELY" - It is very likely. 1975 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 1976 // JoyLikelihood: Joy likelihood. 1977 // 1978 // Possible values: 1979 // "UNKNOWN" - Unknown likelihood. 1980 // "VERY_UNLIKELY" - It is very unlikely. 1981 // "UNLIKELY" - It is unlikely. 1982 // "POSSIBLE" - It is possible. 1983 // "LIKELY" - It is likely. 1984 // "VERY_LIKELY" - It is very likely. 1985 JoyLikelihood string `json:"joyLikelihood,omitempty"` 1986 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 1987 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 1988 // Landmarks: Detected face landmarks. 1989 Landmarks []*GoogleCloudVisionV1p1beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 1990 // PanAngle: Yaw angle, which indicates the leftward/rightward angle that the 1991 // face is pointing relative to the vertical plane perpendicular to the image. 1992 // Range [-180,180]. 1993 PanAngle float64 `json:"panAngle,omitempty"` 1994 // RollAngle: Roll angle, which indicates the amount of 1995 // clockwise/anti-clockwise rotation of the face relative to the image vertical 1996 // about the axis perpendicular to the face. Range [-180,180]. 1997 RollAngle float64 `json:"rollAngle,omitempty"` 1998 // SorrowLikelihood: Sorrow likelihood. 1999 // 2000 // Possible values: 2001 // "UNKNOWN" - Unknown likelihood. 2002 // "VERY_UNLIKELY" - It is very unlikely. 2003 // "UNLIKELY" - It is unlikely. 2004 // "POSSIBLE" - It is possible. 2005 // "LIKELY" - It is likely. 2006 // "VERY_LIKELY" - It is very likely. 2007 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 2008 // SurpriseLikelihood: Surprise likelihood. 2009 // 2010 // Possible values: 2011 // "UNKNOWN" - Unknown likelihood. 2012 // "VERY_UNLIKELY" - It is very unlikely. 2013 // "UNLIKELY" - It is unlikely. 2014 // "POSSIBLE" - It is possible. 2015 // "LIKELY" - It is likely. 2016 // "VERY_LIKELY" - It is very likely. 2017 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 2018 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle that the 2019 // face is pointing relative to the image's horizontal plane. Range [-180,180]. 2020 TiltAngle float64 `json:"tiltAngle,omitempty"` 2021 // UnderExposedLikelihood: Under-exposed likelihood. 2022 // 2023 // Possible values: 2024 // "UNKNOWN" - Unknown likelihood. 2025 // "VERY_UNLIKELY" - It is very unlikely. 2026 // "UNLIKELY" - It is unlikely. 2027 // "POSSIBLE" - It is possible. 2028 // "LIKELY" - It is likely. 2029 // "VERY_LIKELY" - It is very likely. 2030 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 2031 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 2032 // unconditionally include in API requests. By default, fields with empty or 2033 // default values are omitted from API requests. See 2034 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2035 // details. 2036 ForceSendFields []string `json:"-"` 2037 // NullFields is a list of field names (e.g. "AngerLikelihood") to include in 2038 // API requests with the JSON null value. By default, fields with empty values 2039 // are omitted from API requests. See 2040 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2041 NullFields []string `json:"-"` 2042 } 2043 2044 func (s *GoogleCloudVisionV1p1beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 2045 type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotation 2046 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2047 } 2048 2049 func (s *GoogleCloudVisionV1p1beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 2050 type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotation 2051 var s1 struct { 2052 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 2053 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 2054 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 2055 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 2056 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 2057 *NoMethod 2058 } 2059 s1.NoMethod = (*NoMethod)(s) 2060 if err := json.Unmarshal(data, &s1); err != nil { 2061 return err 2062 } 2063 s.DetectionConfidence = float64(s1.DetectionConfidence) 2064 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 2065 s.PanAngle = float64(s1.PanAngle) 2066 s.RollAngle = float64(s1.RollAngle) 2067 s.TiltAngle = float64(s1.TiltAngle) 2068 return nil 2069 } 2070 2071 // GoogleCloudVisionV1p1beta1FaceAnnotationLandmark: A face-specific landmark 2072 // (for example, a face feature). 2073 type GoogleCloudVisionV1p1beta1FaceAnnotationLandmark struct { 2074 // Position: Face landmark position. 2075 Position *GoogleCloudVisionV1p1beta1Position `json:"position,omitempty"` 2076 // Type: Face landmark type. 2077 // 2078 // Possible values: 2079 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be filled. 2080 // "LEFT_EYE" - Left eye. 2081 // "RIGHT_EYE" - Right eye. 2082 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 2083 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 2084 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 2085 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 2086 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 2087 // "NOSE_TIP" - Nose tip. 2088 // "UPPER_LIP" - Upper lip. 2089 // "LOWER_LIP" - Lower lip. 2090 // "MOUTH_LEFT" - Mouth left. 2091 // "MOUTH_RIGHT" - Mouth right. 2092 // "MOUTH_CENTER" - Mouth center. 2093 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 2094 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 2095 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 2096 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 2097 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 2098 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 2099 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 2100 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 2101 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 2102 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 2103 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 2104 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 2105 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 2106 // "LEFT_EAR_TRAGION" - Left ear tragion. 2107 // "RIGHT_EAR_TRAGION" - Right ear tragion. 2108 // "LEFT_EYE_PUPIL" - Left eye pupil. 2109 // "RIGHT_EYE_PUPIL" - Right eye pupil. 2110 // "FOREHEAD_GLABELLA" - Forehead glabella. 2111 // "CHIN_GNATHION" - Chin gnathion. 2112 // "CHIN_LEFT_GONION" - Chin left gonion. 2113 // "CHIN_RIGHT_GONION" - Chin right gonion. 2114 // "LEFT_CHEEK_CENTER" - Left cheek center. 2115 // "RIGHT_CHEEK_CENTER" - Right cheek center. 2116 Type string `json:"type,omitempty"` 2117 // ForceSendFields is a list of field names (e.g. "Position") to 2118 // unconditionally include in API requests. By default, fields with empty or 2119 // default values are omitted from API requests. See 2120 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2121 // details. 2122 ForceSendFields []string `json:"-"` 2123 // NullFields is a list of field names (e.g. "Position") to include in API 2124 // requests with the JSON null value. By default, fields with empty values are 2125 // omitted from API requests. See 2126 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2127 NullFields []string `json:"-"` 2128 } 2129 2130 func (s *GoogleCloudVisionV1p1beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 2131 type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotationLandmark 2132 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2133 } 2134 2135 // GoogleCloudVisionV1p1beta1Feature: The type of Google Cloud Vision API 2136 // detection to perform, and the maximum number of results to return for that 2137 // type. Multiple `Feature` objects can be specified in the `features` list. 2138 type GoogleCloudVisionV1p1beta1Feature struct { 2139 // MaxResults: Maximum number of results of this type. Does not apply to 2140 // `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. 2141 MaxResults int64 `json:"maxResults,omitempty"` 2142 // Model: Model to use for the feature. Supported values: "builtin/stable" (the 2143 // default if unset) and "builtin/latest". `DOCUMENT_TEXT_DETECTION` and 2144 // `TEXT_DETECTION` also support "builtin/weekly" for the bleeding edge release 2145 // updated weekly. 2146 Model string `json:"model,omitempty"` 2147 // Type: The feature type. 2148 // 2149 // Possible values: 2150 // "TYPE_UNSPECIFIED" - Unspecified feature type. 2151 // "FACE_DETECTION" - Run face detection. 2152 // "LANDMARK_DETECTION" - Run landmark detection. 2153 // "LOGO_DETECTION" - Run logo detection. 2154 // "LABEL_DETECTION" - Run label detection. 2155 // "TEXT_DETECTION" - Run text detection / optical character recognition 2156 // (OCR). Text detection is optimized for areas of text within a larger image; 2157 // if the image is a document, use `DOCUMENT_TEXT_DETECTION` instead. 2158 // "DOCUMENT_TEXT_DETECTION" - Run dense text document OCR. Takes precedence 2159 // when both `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present. 2160 // "SAFE_SEARCH_DETECTION" - Run Safe Search to detect potentially unsafe or 2161 // undesirable content. 2162 // "IMAGE_PROPERTIES" - Compute a set of image properties, such as the 2163 // image's dominant colors. 2164 // "CROP_HINTS" - Run crop hints. 2165 // "WEB_DETECTION" - Run web detection. 2166 // "PRODUCT_SEARCH" - Run Product Search. 2167 // "OBJECT_LOCALIZATION" - Run localizer for object detection. 2168 Type string `json:"type,omitempty"` 2169 // ForceSendFields is a list of field names (e.g. "MaxResults") to 2170 // unconditionally include in API requests. By default, fields with empty or 2171 // default values are omitted from API requests. See 2172 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2173 // details. 2174 ForceSendFields []string `json:"-"` 2175 // NullFields is a list of field names (e.g. "MaxResults") to include in API 2176 // requests with the JSON null value. By default, fields with empty values are 2177 // omitted from API requests. See 2178 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2179 NullFields []string `json:"-"` 2180 } 2181 2182 func (s *GoogleCloudVisionV1p1beta1Feature) MarshalJSON() ([]byte, error) { 2183 type NoMethod GoogleCloudVisionV1p1beta1Feature 2184 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2185 } 2186 2187 // GoogleCloudVisionV1p1beta1GcsDestination: The Google Cloud Storage location 2188 // where the output will be written to. 2189 type GoogleCloudVisionV1p1beta1GcsDestination struct { 2190 // Uri: Google Cloud Storage URI prefix where the results will be stored. 2191 // Results will be in JSON format and preceded by its corresponding input URI 2192 // prefix. This field can either represent a gcs file prefix or gcs directory. 2193 // In either case, the uri should be unique because in order to get all of the 2194 // output files, you will need to do a wildcard gcs search on the uri prefix 2195 // you provide. Examples: * File Prefix: gs://bucket-name/here/filenameprefix 2196 // The output files will be created in gs://bucket-name/here/ and the names of 2197 // the output files will begin with "filenameprefix". * Directory Prefix: 2198 // gs://bucket-name/some/location/ The output files will be created in 2199 // gs://bucket-name/some/location/ and the names of the output files could be 2200 // anything because there was no filename prefix specified. If multiple 2201 // outputs, each response is still AnnotateFileResponse, each of which contains 2202 // some subset of the full list of AnnotateImageResponse. Multiple outputs can 2203 // happen if, for example, the output JSON is too large and overflows into 2204 // multiple sharded files. 2205 Uri string `json:"uri,omitempty"` 2206 // ForceSendFields is a list of field names (e.g. "Uri") to unconditionally 2207 // include in API requests. By default, fields with empty or default values are 2208 // omitted from API requests. See 2209 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2210 // details. 2211 ForceSendFields []string `json:"-"` 2212 // NullFields is a list of field names (e.g. "Uri") to include in API requests 2213 // with the JSON null value. By default, fields with empty values are omitted 2214 // from API requests. See 2215 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2216 NullFields []string `json:"-"` 2217 } 2218 2219 func (s *GoogleCloudVisionV1p1beta1GcsDestination) MarshalJSON() ([]byte, error) { 2220 type NoMethod GoogleCloudVisionV1p1beta1GcsDestination 2221 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2222 } 2223 2224 // GoogleCloudVisionV1p1beta1GcsSource: The Google Cloud Storage location where 2225 // the input will be read from. 2226 type GoogleCloudVisionV1p1beta1GcsSource struct { 2227 // Uri: Google Cloud Storage URI for the input file. This must only be a Google 2228 // Cloud Storage object. Wildcards are not currently supported. 2229 Uri string `json:"uri,omitempty"` 2230 // ForceSendFields is a list of field names (e.g. "Uri") to unconditionally 2231 // include in API requests. By default, fields with empty or default values are 2232 // omitted from API requests. See 2233 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2234 // details. 2235 ForceSendFields []string `json:"-"` 2236 // NullFields is a list of field names (e.g. "Uri") to include in API requests 2237 // with the JSON null value. By default, fields with empty values are omitted 2238 // from API requests. See 2239 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2240 NullFields []string `json:"-"` 2241 } 2242 2243 func (s *GoogleCloudVisionV1p1beta1GcsSource) MarshalJSON() ([]byte, error) { 2244 type NoMethod GoogleCloudVisionV1p1beta1GcsSource 2245 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2246 } 2247 2248 // GoogleCloudVisionV1p1beta1Image: Client image to perform Google Cloud Vision 2249 // API tasks over. 2250 type GoogleCloudVisionV1p1beta1Image struct { 2251 // Content: Image content, represented as a stream of bytes. Note: As with all 2252 // `bytes` fields, protobuffers use a pure binary representation, whereas JSON 2253 // representations use base64. Currently, this field only works for 2254 // BatchAnnotateImages requests. It does not work for AsyncBatchAnnotateImages 2255 // requests. 2256 Content string `json:"content,omitempty"` 2257 // Source: Google Cloud Storage image location, or publicly-accessible image 2258 // URL. If both `content` and `source` are provided for an image, `content` 2259 // takes precedence and is used to perform the image annotation request. 2260 Source *GoogleCloudVisionV1p1beta1ImageSource `json:"source,omitempty"` 2261 // ForceSendFields is a list of field names (e.g. "Content") to unconditionally 2262 // include in API requests. By default, fields with empty or default values are 2263 // omitted from API requests. See 2264 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2265 // details. 2266 ForceSendFields []string `json:"-"` 2267 // NullFields is a list of field names (e.g. "Content") to include in API 2268 // requests with the JSON null value. By default, fields with empty values are 2269 // omitted from API requests. See 2270 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2271 NullFields []string `json:"-"` 2272 } 2273 2274 func (s *GoogleCloudVisionV1p1beta1Image) MarshalJSON() ([]byte, error) { 2275 type NoMethod GoogleCloudVisionV1p1beta1Image 2276 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2277 } 2278 2279 // GoogleCloudVisionV1p1beta1ImageAnnotationContext: If an image was produced 2280 // from a file (e.g. a PDF), this message gives information about the source of 2281 // that image. 2282 type GoogleCloudVisionV1p1beta1ImageAnnotationContext struct { 2283 // PageNumber: If the file was a PDF or TIFF, this field gives the page number 2284 // within the file used to produce the image. 2285 PageNumber int64 `json:"pageNumber,omitempty"` 2286 // Uri: The URI of the file used to produce the image. 2287 Uri string `json:"uri,omitempty"` 2288 // ForceSendFields is a list of field names (e.g. "PageNumber") to 2289 // unconditionally include in API requests. By default, fields with empty or 2290 // default values are omitted from API requests. See 2291 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2292 // details. 2293 ForceSendFields []string `json:"-"` 2294 // NullFields is a list of field names (e.g. "PageNumber") to include in API 2295 // requests with the JSON null value. By default, fields with empty values are 2296 // omitted from API requests. See 2297 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2298 NullFields []string `json:"-"` 2299 } 2300 2301 func (s *GoogleCloudVisionV1p1beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 2302 type NoMethod GoogleCloudVisionV1p1beta1ImageAnnotationContext 2303 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2304 } 2305 2306 // GoogleCloudVisionV1p1beta1ImageContext: Image context and/or 2307 // feature-specific parameters. 2308 type GoogleCloudVisionV1p1beta1ImageContext struct { 2309 // CropHintsParams: Parameters for crop hints annotation request. 2310 CropHintsParams *GoogleCloudVisionV1p1beta1CropHintsParams `json:"cropHintsParams,omitempty"` 2311 // LanguageHints: List of languages to use for TEXT_DETECTION. In most cases, 2312 // an empty value yields the best results since it enables automatic language 2313 // detection. For languages based on the Latin alphabet, setting 2314 // `language_hints` is not needed. In rare cases, when the language of the text 2315 // in the image is known, setting a hint will help get better results (although 2316 // it will be a significant hindrance if the hint is wrong). Text detection 2317 // returns an error if one or more of the specified languages is not one of the 2318 // supported languages (https://cloud.google.com/vision/docs/languages). 2319 LanguageHints []string `json:"languageHints,omitempty"` 2320 // LatLongRect: Not used. 2321 LatLongRect *GoogleCloudVisionV1p1beta1LatLongRect `json:"latLongRect,omitempty"` 2322 // ProductSearchParams: Parameters for product search. 2323 ProductSearchParams *GoogleCloudVisionV1p1beta1ProductSearchParams `json:"productSearchParams,omitempty"` 2324 // TextDetectionParams: Parameters for text detection and document text 2325 // detection. 2326 TextDetectionParams *GoogleCloudVisionV1p1beta1TextDetectionParams `json:"textDetectionParams,omitempty"` 2327 // WebDetectionParams: Parameters for web detection. 2328 WebDetectionParams *GoogleCloudVisionV1p1beta1WebDetectionParams `json:"webDetectionParams,omitempty"` 2329 // ForceSendFields is a list of field names (e.g. "CropHintsParams") to 2330 // unconditionally include in API requests. By default, fields with empty or 2331 // default values are omitted from API requests. See 2332 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2333 // details. 2334 ForceSendFields []string `json:"-"` 2335 // NullFields is a list of field names (e.g. "CropHintsParams") to include in 2336 // API requests with the JSON null value. By default, fields with empty values 2337 // are omitted from API requests. See 2338 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2339 NullFields []string `json:"-"` 2340 } 2341 2342 func (s *GoogleCloudVisionV1p1beta1ImageContext) MarshalJSON() ([]byte, error) { 2343 type NoMethod GoogleCloudVisionV1p1beta1ImageContext 2344 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2345 } 2346 2347 // GoogleCloudVisionV1p1beta1ImageProperties: Stores image properties, such as 2348 // dominant colors. 2349 type GoogleCloudVisionV1p1beta1ImageProperties struct { 2350 // DominantColors: If present, dominant colors completed successfully. 2351 DominantColors *GoogleCloudVisionV1p1beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 2352 // ForceSendFields is a list of field names (e.g. "DominantColors") to 2353 // unconditionally include in API requests. By default, fields with empty or 2354 // default values are omitted from API requests. See 2355 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2356 // details. 2357 ForceSendFields []string `json:"-"` 2358 // NullFields is a list of field names (e.g. "DominantColors") to include in 2359 // API requests with the JSON null value. By default, fields with empty values 2360 // are omitted from API requests. See 2361 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2362 NullFields []string `json:"-"` 2363 } 2364 2365 func (s *GoogleCloudVisionV1p1beta1ImageProperties) MarshalJSON() ([]byte, error) { 2366 type NoMethod GoogleCloudVisionV1p1beta1ImageProperties 2367 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2368 } 2369 2370 // GoogleCloudVisionV1p1beta1ImageSource: External image source (Google Cloud 2371 // Storage or web URL image location). 2372 type GoogleCloudVisionV1p1beta1ImageSource struct { 2373 // GcsImageUri: **Use `image_uri` instead.** The Google Cloud Storage URI of 2374 // the form `gs://bucket_name/object_name`. Object versioning is not supported. 2375 // See Google Cloud Storage Request URIs 2376 // (https://cloud.google.com/storage/docs/reference-uris) for more info. 2377 GcsImageUri string `json:"gcsImageUri,omitempty"` 2378 // ImageUri: The URI of the source image. Can be either: 1. A Google Cloud 2379 // Storage URI of the form `gs://bucket_name/object_name`. Object versioning is 2380 // not supported. See Google Cloud Storage Request URIs 2381 // (https://cloud.google.com/storage/docs/reference-uris) for more info. 2. A 2382 // publicly-accessible image HTTP/HTTPS URL. When fetching images from 2383 // HTTP/HTTPS URLs, Google cannot guarantee that the request will be completed. 2384 // Your request may fail if the specified host denies the request (e.g. due to 2385 // request throttling or DOS prevention), or if Google throttles requests to 2386 // the site for abuse prevention. You should not depend on externally-hosted 2387 // images for production applications. When both `gcs_image_uri` and 2388 // `image_uri` are specified, `image_uri` takes precedence. 2389 ImageUri string `json:"imageUri,omitempty"` 2390 // ForceSendFields is a list of field names (e.g. "GcsImageUri") to 2391 // unconditionally include in API requests. By default, fields with empty or 2392 // default values are omitted from API requests. See 2393 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2394 // details. 2395 ForceSendFields []string `json:"-"` 2396 // NullFields is a list of field names (e.g. "GcsImageUri") to include in API 2397 // requests with the JSON null value. By default, fields with empty values are 2398 // omitted from API requests. See 2399 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2400 NullFields []string `json:"-"` 2401 } 2402 2403 func (s *GoogleCloudVisionV1p1beta1ImageSource) MarshalJSON() ([]byte, error) { 2404 type NoMethod GoogleCloudVisionV1p1beta1ImageSource 2405 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2406 } 2407 2408 // GoogleCloudVisionV1p1beta1InputConfig: The desired input location and 2409 // metadata. 2410 type GoogleCloudVisionV1p1beta1InputConfig struct { 2411 // Content: File content, represented as a stream of bytes. Note: As with all 2412 // `bytes` fields, protobuffers use a pure binary representation, whereas JSON 2413 // representations use base64. Currently, this field only works for 2414 // BatchAnnotateFiles requests. It does not work for AsyncBatchAnnotateFiles 2415 // requests. 2416 Content string `json:"content,omitempty"` 2417 // GcsSource: The Google Cloud Storage location to read the input from. 2418 GcsSource *GoogleCloudVisionV1p1beta1GcsSource `json:"gcsSource,omitempty"` 2419 // MimeType: The type of the file. Currently only "application/pdf", 2420 // "image/tiff" and "image/gif" are supported. Wildcards are not supported. 2421 MimeType string `json:"mimeType,omitempty"` 2422 // ForceSendFields is a list of field names (e.g. "Content") to unconditionally 2423 // include in API requests. By default, fields with empty or default values are 2424 // omitted from API requests. See 2425 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2426 // details. 2427 ForceSendFields []string `json:"-"` 2428 // NullFields is a list of field names (e.g. "Content") to include in API 2429 // requests with the JSON null value. By default, fields with empty values are 2430 // omitted from API requests. See 2431 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2432 NullFields []string `json:"-"` 2433 } 2434 2435 func (s *GoogleCloudVisionV1p1beta1InputConfig) MarshalJSON() ([]byte, error) { 2436 type NoMethod GoogleCloudVisionV1p1beta1InputConfig 2437 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2438 } 2439 2440 // GoogleCloudVisionV1p1beta1LatLongRect: Rectangle determined by min and max 2441 // `LatLng` pairs. 2442 type GoogleCloudVisionV1p1beta1LatLongRect struct { 2443 // MaxLatLng: Max lat/long pair. 2444 MaxLatLng *LatLng `json:"maxLatLng,omitempty"` 2445 // MinLatLng: Min lat/long pair. 2446 MinLatLng *LatLng `json:"minLatLng,omitempty"` 2447 // ForceSendFields is a list of field names (e.g. "MaxLatLng") to 2448 // unconditionally include in API requests. By default, fields with empty or 2449 // default values are omitted from API requests. See 2450 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2451 // details. 2452 ForceSendFields []string `json:"-"` 2453 // NullFields is a list of field names (e.g. "MaxLatLng") to include in API 2454 // requests with the JSON null value. By default, fields with empty values are 2455 // omitted from API requests. See 2456 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2457 NullFields []string `json:"-"` 2458 } 2459 2460 func (s *GoogleCloudVisionV1p1beta1LatLongRect) MarshalJSON() ([]byte, error) { 2461 type NoMethod GoogleCloudVisionV1p1beta1LatLongRect 2462 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2463 } 2464 2465 // GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation: Set of detected objects 2466 // with bounding boxes. 2467 type GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation struct { 2468 // BoundingPoly: Image region to which this object belongs. This must be 2469 // populated. 2470 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 2471 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For 2472 // more information, see 2473 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 2474 LanguageCode string `json:"languageCode,omitempty"` 2475 // Mid: Object ID that should align with EntityAnnotation mid. 2476 Mid string `json:"mid,omitempty"` 2477 // Name: Object name, expressed in its `language_code` language. 2478 Name string `json:"name,omitempty"` 2479 // Score: Score of the result. Range [0, 1]. 2480 Score float64 `json:"score,omitempty"` 2481 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 2482 // unconditionally include in API requests. By default, fields with empty or 2483 // default values are omitted from API requests. See 2484 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2485 // details. 2486 ForceSendFields []string `json:"-"` 2487 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 2488 // requests with the JSON null value. By default, fields with empty values are 2489 // omitted from API requests. See 2490 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2491 NullFields []string `json:"-"` 2492 } 2493 2494 func (s *GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 2495 type NoMethod GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation 2496 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2497 } 2498 2499 func (s *GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 2500 type NoMethod GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation 2501 var s1 struct { 2502 Score gensupport.JSONFloat64 `json:"score"` 2503 *NoMethod 2504 } 2505 s1.NoMethod = (*NoMethod)(s) 2506 if err := json.Unmarshal(data, &s1); err != nil { 2507 return err 2508 } 2509 s.Score = float64(s1.Score) 2510 return nil 2511 } 2512 2513 // GoogleCloudVisionV1p1beta1LocationInfo: Detected entity location 2514 // information. 2515 type GoogleCloudVisionV1p1beta1LocationInfo struct { 2516 // LatLng: lat/long location coordinates. 2517 LatLng *LatLng `json:"latLng,omitempty"` 2518 // ForceSendFields is a list of field names (e.g. "LatLng") to unconditionally 2519 // include in API requests. By default, fields with empty or default values are 2520 // omitted from API requests. See 2521 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2522 // details. 2523 ForceSendFields []string `json:"-"` 2524 // NullFields is a list of field names (e.g. "LatLng") to include in API 2525 // requests with the JSON null value. By default, fields with empty values are 2526 // omitted from API requests. See 2527 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2528 NullFields []string `json:"-"` 2529 } 2530 2531 func (s *GoogleCloudVisionV1p1beta1LocationInfo) MarshalJSON() ([]byte, error) { 2532 type NoMethod GoogleCloudVisionV1p1beta1LocationInfo 2533 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2534 } 2535 2536 // GoogleCloudVisionV1p1beta1NormalizedVertex: A vertex represents a 2D point 2537 // in the image. NOTE: the normalized vertex coordinates are relative to the 2538 // original image and range from 0 to 1. 2539 type GoogleCloudVisionV1p1beta1NormalizedVertex struct { 2540 // X: X coordinate. 2541 X float64 `json:"x,omitempty"` 2542 // Y: Y coordinate. 2543 Y float64 `json:"y,omitempty"` 2544 // ForceSendFields is a list of field names (e.g. "X") to unconditionally 2545 // include in API requests. By default, fields with empty or default values are 2546 // omitted from API requests. See 2547 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2548 // details. 2549 ForceSendFields []string `json:"-"` 2550 // NullFields is a list of field names (e.g. "X") to include in API requests 2551 // with the JSON null value. By default, fields with empty values are omitted 2552 // from API requests. See 2553 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2554 NullFields []string `json:"-"` 2555 } 2556 2557 func (s *GoogleCloudVisionV1p1beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 2558 type NoMethod GoogleCloudVisionV1p1beta1NormalizedVertex 2559 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2560 } 2561 2562 func (s *GoogleCloudVisionV1p1beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 2563 type NoMethod GoogleCloudVisionV1p1beta1NormalizedVertex 2564 var s1 struct { 2565 X gensupport.JSONFloat64 `json:"x"` 2566 Y gensupport.JSONFloat64 `json:"y"` 2567 *NoMethod 2568 } 2569 s1.NoMethod = (*NoMethod)(s) 2570 if err := json.Unmarshal(data, &s1); err != nil { 2571 return err 2572 } 2573 s.X = float64(s1.X) 2574 s.Y = float64(s1.Y) 2575 return nil 2576 } 2577 2578 // GoogleCloudVisionV1p1beta1OperationMetadata: Contains metadata for the 2579 // BatchAnnotateImages operation. 2580 type GoogleCloudVisionV1p1beta1OperationMetadata struct { 2581 // CreateTime: The time when the batch request was received. 2582 CreateTime string `json:"createTime,omitempty"` 2583 // State: Current state of the batch operation. 2584 // 2585 // Possible values: 2586 // "STATE_UNSPECIFIED" - Invalid. 2587 // "CREATED" - Request is received. 2588 // "RUNNING" - Request is actively being processed. 2589 // "DONE" - The batch processing is done. 2590 // "CANCELLED" - The batch processing was cancelled. 2591 State string `json:"state,omitempty"` 2592 // UpdateTime: The time when the operation result was last updated. 2593 UpdateTime string `json:"updateTime,omitempty"` 2594 // ForceSendFields is a list of field names (e.g. "CreateTime") to 2595 // unconditionally include in API requests. By default, fields with empty or 2596 // default values are omitted from API requests. See 2597 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2598 // details. 2599 ForceSendFields []string `json:"-"` 2600 // NullFields is a list of field names (e.g. "CreateTime") to include in API 2601 // requests with the JSON null value. By default, fields with empty values are 2602 // omitted from API requests. See 2603 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2604 NullFields []string `json:"-"` 2605 } 2606 2607 func (s *GoogleCloudVisionV1p1beta1OperationMetadata) MarshalJSON() ([]byte, error) { 2608 type NoMethod GoogleCloudVisionV1p1beta1OperationMetadata 2609 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2610 } 2611 2612 // GoogleCloudVisionV1p1beta1OutputConfig: The desired output location and 2613 // metadata. 2614 type GoogleCloudVisionV1p1beta1OutputConfig struct { 2615 // BatchSize: The max number of response protos to put into each output JSON 2616 // file on Google Cloud Storage. The valid range is [1, 100]. If not specified, 2617 // the default value is 20. For example, for one pdf file with 100 pages, 100 2618 // response protos will be generated. If `batch_size` = 20, then 5 json files 2619 // each containing 20 response protos will be written under the prefix 2620 // `gcs_destination`.`uri`. Currently, batch_size only applies to 2621 // GcsDestination, with potential future support for other output 2622 // configurations. 2623 BatchSize int64 `json:"batchSize,omitempty"` 2624 // GcsDestination: The Google Cloud Storage location to write the output(s) to. 2625 GcsDestination *GoogleCloudVisionV1p1beta1GcsDestination `json:"gcsDestination,omitempty"` 2626 // ForceSendFields is a list of field names (e.g. "BatchSize") to 2627 // unconditionally include in API requests. By default, fields with empty or 2628 // default values are omitted from API requests. See 2629 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2630 // details. 2631 ForceSendFields []string `json:"-"` 2632 // NullFields is a list of field names (e.g. "BatchSize") to include in API 2633 // requests with the JSON null value. By default, fields with empty values are 2634 // omitted from API requests. See 2635 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2636 NullFields []string `json:"-"` 2637 } 2638 2639 func (s *GoogleCloudVisionV1p1beta1OutputConfig) MarshalJSON() ([]byte, error) { 2640 type NoMethod GoogleCloudVisionV1p1beta1OutputConfig 2641 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2642 } 2643 2644 // GoogleCloudVisionV1p1beta1Page: Detected page from OCR. 2645 type GoogleCloudVisionV1p1beta1Page struct { 2646 // Blocks: List of blocks of text, images etc on this page. 2647 Blocks []*GoogleCloudVisionV1p1beta1Block `json:"blocks,omitempty"` 2648 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 2649 Confidence float64 `json:"confidence,omitempty"` 2650 // Height: Page height. For PDFs the unit is points. For images (including 2651 // TIFFs) the unit is pixels. 2652 Height int64 `json:"height,omitempty"` 2653 // Property: Additional information detected on the page. 2654 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 2655 // Width: Page width. For PDFs the unit is points. For images (including TIFFs) 2656 // the unit is pixels. 2657 Width int64 `json:"width,omitempty"` 2658 // ForceSendFields is a list of field names (e.g. "Blocks") to unconditionally 2659 // include in API requests. By default, fields with empty or default values are 2660 // omitted from API requests. See 2661 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2662 // details. 2663 ForceSendFields []string `json:"-"` 2664 // NullFields is a list of field names (e.g. "Blocks") to include in API 2665 // requests with the JSON null value. By default, fields with empty values are 2666 // omitted from API requests. See 2667 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2668 NullFields []string `json:"-"` 2669 } 2670 2671 func (s *GoogleCloudVisionV1p1beta1Page) MarshalJSON() ([]byte, error) { 2672 type NoMethod GoogleCloudVisionV1p1beta1Page 2673 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2674 } 2675 2676 func (s *GoogleCloudVisionV1p1beta1Page) UnmarshalJSON(data []byte) error { 2677 type NoMethod GoogleCloudVisionV1p1beta1Page 2678 var s1 struct { 2679 Confidence gensupport.JSONFloat64 `json:"confidence"` 2680 *NoMethod 2681 } 2682 s1.NoMethod = (*NoMethod)(s) 2683 if err := json.Unmarshal(data, &s1); err != nil { 2684 return err 2685 } 2686 s.Confidence = float64(s1.Confidence) 2687 return nil 2688 } 2689 2690 // GoogleCloudVisionV1p1beta1Paragraph: Structural unit of text representing a 2691 // number of words in certain order. 2692 type GoogleCloudVisionV1p1beta1Paragraph struct { 2693 // BoundingBox: The bounding box for the paragraph. The vertices are in the 2694 // order of top-left, top-right, bottom-right, bottom-left. When a rotation of 2695 // the bounding box is detected the rotation is represented as around the 2696 // top-left corner as defined when the text is read in the 'natural' 2697 // orientation. For example: * when the text is horizontal it might look like: 2698 // 0----1 | | 3----2 * when it's rotated 180 degrees around the top-left corner 2699 // it becomes: 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 2700 // 3). 2701 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 2702 // Confidence: Confidence of the OCR results for the paragraph. Range [0, 1]. 2703 Confidence float64 `json:"confidence,omitempty"` 2704 // Property: Additional information detected for the paragraph. 2705 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 2706 // Words: List of all words in this paragraph. 2707 Words []*GoogleCloudVisionV1p1beta1Word `json:"words,omitempty"` 2708 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 2709 // unconditionally include in API requests. By default, fields with empty or 2710 // default values are omitted from API requests. See 2711 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2712 // details. 2713 ForceSendFields []string `json:"-"` 2714 // NullFields is a list of field names (e.g. "BoundingBox") to include in API 2715 // requests with the JSON null value. By default, fields with empty values are 2716 // omitted from API requests. See 2717 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2718 NullFields []string `json:"-"` 2719 } 2720 2721 func (s *GoogleCloudVisionV1p1beta1Paragraph) MarshalJSON() ([]byte, error) { 2722 type NoMethod GoogleCloudVisionV1p1beta1Paragraph 2723 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2724 } 2725 2726 func (s *GoogleCloudVisionV1p1beta1Paragraph) UnmarshalJSON(data []byte) error { 2727 type NoMethod GoogleCloudVisionV1p1beta1Paragraph 2728 var s1 struct { 2729 Confidence gensupport.JSONFloat64 `json:"confidence"` 2730 *NoMethod 2731 } 2732 s1.NoMethod = (*NoMethod)(s) 2733 if err := json.Unmarshal(data, &s1); err != nil { 2734 return err 2735 } 2736 s.Confidence = float64(s1.Confidence) 2737 return nil 2738 } 2739 2740 // GoogleCloudVisionV1p1beta1Position: A 3D position in the image, used 2741 // primarily for Face detection landmarks. A valid Position must have both x 2742 // and y coordinates. The position coordinates are in the same scale as the 2743 // original image. 2744 type GoogleCloudVisionV1p1beta1Position struct { 2745 // X: X coordinate. 2746 X float64 `json:"x,omitempty"` 2747 // Y: Y coordinate. 2748 Y float64 `json:"y,omitempty"` 2749 // Z: Z coordinate (or depth). 2750 Z float64 `json:"z,omitempty"` 2751 // ForceSendFields is a list of field names (e.g. "X") to unconditionally 2752 // include in API requests. By default, fields with empty or default values are 2753 // omitted from API requests. See 2754 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2755 // details. 2756 ForceSendFields []string `json:"-"` 2757 // NullFields is a list of field names (e.g. "X") to include in API requests 2758 // with the JSON null value. By default, fields with empty values are omitted 2759 // from API requests. See 2760 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2761 NullFields []string `json:"-"` 2762 } 2763 2764 func (s *GoogleCloudVisionV1p1beta1Position) MarshalJSON() ([]byte, error) { 2765 type NoMethod GoogleCloudVisionV1p1beta1Position 2766 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2767 } 2768 2769 func (s *GoogleCloudVisionV1p1beta1Position) UnmarshalJSON(data []byte) error { 2770 type NoMethod GoogleCloudVisionV1p1beta1Position 2771 var s1 struct { 2772 X gensupport.JSONFloat64 `json:"x"` 2773 Y gensupport.JSONFloat64 `json:"y"` 2774 Z gensupport.JSONFloat64 `json:"z"` 2775 *NoMethod 2776 } 2777 s1.NoMethod = (*NoMethod)(s) 2778 if err := json.Unmarshal(data, &s1); err != nil { 2779 return err 2780 } 2781 s.X = float64(s1.X) 2782 s.Y = float64(s1.Y) 2783 s.Z = float64(s1.Z) 2784 return nil 2785 } 2786 2787 // GoogleCloudVisionV1p1beta1Product: A Product contains ReferenceImages. 2788 type GoogleCloudVisionV1p1beta1Product struct { 2789 // Description: User-provided metadata to be stored with this product. Must be 2790 // at most 4096 characters long. 2791 Description string `json:"description,omitempty"` 2792 // DisplayName: The user-provided name for this Product. Must not be empty. 2793 // Must be at most 4096 characters long. 2794 DisplayName string `json:"displayName,omitempty"` 2795 // Name: The resource name of the product. Format is: 2796 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is 2797 // ignored when creating a product. 2798 Name string `json:"name,omitempty"` 2799 // ProductCategory: Immutable. The category for the product identified by the 2800 // reference image. This should be one of "homegoods-v2", "apparel-v2", 2801 // "toys-v2", "packagedgoods-v1" or "general-v1". The legacy categories 2802 // "homegoods", "apparel", and "toys" are still supported, but these should not 2803 // be used for new products. 2804 ProductCategory string `json:"productCategory,omitempty"` 2805 // ProductLabels: Key-value pairs that can be attached to a product. At query 2806 // time, constraints can be specified based on the product_labels. Note that 2807 // integer values can be provided as strings, e.g. "1199". Only strings with 2808 // integer values can match a range-based restriction which is to be supported 2809 // soon. Multiple values can be assigned to the same key. One product may have 2810 // up to 500 product_labels. Notice that the total number of distinct 2811 // product_labels over all products in one ProductSet cannot exceed 1M, 2812 // otherwise the product search pipeline will refuse to work for that 2813 // ProductSet. 2814 ProductLabels []*GoogleCloudVisionV1p1beta1ProductKeyValue `json:"productLabels,omitempty"` 2815 // ForceSendFields is a list of field names (e.g. "Description") to 2816 // unconditionally include in API requests. By default, fields with empty or 2817 // default values are omitted from API requests. See 2818 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2819 // details. 2820 ForceSendFields []string `json:"-"` 2821 // NullFields is a list of field names (e.g. "Description") to include in API 2822 // requests with the JSON null value. By default, fields with empty values are 2823 // omitted from API requests. See 2824 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2825 NullFields []string `json:"-"` 2826 } 2827 2828 func (s *GoogleCloudVisionV1p1beta1Product) MarshalJSON() ([]byte, error) { 2829 type NoMethod GoogleCloudVisionV1p1beta1Product 2830 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2831 } 2832 2833 // GoogleCloudVisionV1p1beta1ProductKeyValue: A product label represented as a 2834 // key-value pair. 2835 type GoogleCloudVisionV1p1beta1ProductKeyValue struct { 2836 // Key: The key of the label attached to the product. Cannot be empty and 2837 // cannot exceed 128 bytes. 2838 Key string `json:"key,omitempty"` 2839 // Value: The value of the label attached to the product. Cannot be empty and 2840 // cannot exceed 128 bytes. 2841 Value string `json:"value,omitempty"` 2842 // ForceSendFields is a list of field names (e.g. "Key") to unconditionally 2843 // include in API requests. By default, fields with empty or default values are 2844 // omitted from API requests. See 2845 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2846 // details. 2847 ForceSendFields []string `json:"-"` 2848 // NullFields is a list of field names (e.g. "Key") to include in API requests 2849 // with the JSON null value. By default, fields with empty values are omitted 2850 // from API requests. See 2851 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2852 NullFields []string `json:"-"` 2853 } 2854 2855 func (s *GoogleCloudVisionV1p1beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 2856 type NoMethod GoogleCloudVisionV1p1beta1ProductKeyValue 2857 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2858 } 2859 2860 // GoogleCloudVisionV1p1beta1ProductSearchParams: Parameters for a product 2861 // search request. 2862 type GoogleCloudVisionV1p1beta1ProductSearchParams struct { 2863 // BoundingPoly: The bounding polygon around the area of interest in the image. 2864 // If it is not specified, system discretion will be applied. 2865 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 2866 // Filter: The filtering expression. This can be used to restrict search 2867 // results based on Product labels. We currently support an AND of OR of 2868 // key-value expressions, where each expression within an OR must have the same 2869 // key. An '=' should be used to connect the key and value. For example, 2870 // "(color = red OR color = blue) AND brand = Google" is acceptable, but 2871 // "(color = red OR brand = Google)" is not acceptable. "color: red" is not 2872 // acceptable because it uses a ':' instead of an '='. 2873 Filter string `json:"filter,omitempty"` 2874 // ProductCategories: The list of product categories to search in. Currently, 2875 // we only consider the first category, and either "homegoods-v2", 2876 // "apparel-v2", "toys-v2", "packagedgoods-v1", or "general-v1" should be 2877 // specified. The legacy categories "homegoods", "apparel", and "toys" are 2878 // still supported but will be deprecated. For new products, please use 2879 // "homegoods-v2", "apparel-v2", or "toys-v2" for better product search 2880 // accuracy. It is recommended to migrate existing products to these categories 2881 // as well. 2882 ProductCategories []string `json:"productCategories,omitempty"` 2883 // ProductSet: The resource name of a ProductSet to be searched for similar 2884 // images. Format is: 2885 // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. 2886 ProductSet string `json:"productSet,omitempty"` 2887 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 2888 // unconditionally include in API requests. By default, fields with empty or 2889 // default values are omitted from API requests. See 2890 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2891 // details. 2892 ForceSendFields []string `json:"-"` 2893 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 2894 // requests with the JSON null value. By default, fields with empty values are 2895 // omitted from API requests. See 2896 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2897 NullFields []string `json:"-"` 2898 } 2899 2900 func (s *GoogleCloudVisionV1p1beta1ProductSearchParams) MarshalJSON() ([]byte, error) { 2901 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchParams 2902 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2903 } 2904 2905 // GoogleCloudVisionV1p1beta1ProductSearchResults: Results for a product search 2906 // request. 2907 type GoogleCloudVisionV1p1beta1ProductSearchResults struct { 2908 // IndexTime: Timestamp of the index which provided these results. Products 2909 // added to the product set and products removed from the product set after 2910 // this time are not reflected in the current results. 2911 IndexTime string `json:"indexTime,omitempty"` 2912 // ProductGroupedResults: List of results grouped by products detected in the 2913 // query image. Each entry corresponds to one bounding polygon in the query 2914 // image, and contains the matching products specific to that region. There may 2915 // be duplicate product matches in the union of all the per-product results. 2916 ProductGroupedResults []*GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 2917 // Results: List of results, one for each product match. 2918 Results []*GoogleCloudVisionV1p1beta1ProductSearchResultsResult `json:"results,omitempty"` 2919 // ForceSendFields is a list of field names (e.g. "IndexTime") to 2920 // unconditionally include in API requests. By default, fields with empty or 2921 // default values are omitted from API requests. See 2922 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2923 // details. 2924 ForceSendFields []string `json:"-"` 2925 // NullFields is a list of field names (e.g. "IndexTime") to include in API 2926 // requests with the JSON null value. By default, fields with empty values are 2927 // omitted from API requests. See 2928 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2929 NullFields []string `json:"-"` 2930 } 2931 2932 func (s *GoogleCloudVisionV1p1beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 2933 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResults 2934 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2935 } 2936 2937 // GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult: Information 2938 // about the products similar to a single product in a query image. 2939 type GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult struct { 2940 // BoundingPoly: The bounding polygon around the product detected in the query 2941 // image. 2942 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 2943 // ObjectAnnotations: List of generic predictions for the object in the 2944 // bounding box. 2945 ObjectAnnotations []*GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 2946 // Results: List of results, one for each product match. 2947 Results []*GoogleCloudVisionV1p1beta1ProductSearchResultsResult `json:"results,omitempty"` 2948 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 2949 // unconditionally include in API requests. By default, fields with empty or 2950 // default values are omitted from API requests. See 2951 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2952 // details. 2953 ForceSendFields []string `json:"-"` 2954 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 2955 // requests with the JSON null value. By default, fields with empty values are 2956 // omitted from API requests. See 2957 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2958 NullFields []string `json:"-"` 2959 } 2960 2961 func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 2962 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult 2963 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2964 } 2965 2966 // GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation: Prediction 2967 // for what the object in the bounding box is. 2968 type GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation struct { 2969 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For 2970 // more information, see 2971 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 2972 LanguageCode string `json:"languageCode,omitempty"` 2973 // Mid: Object ID that should align with EntityAnnotation mid. 2974 Mid string `json:"mid,omitempty"` 2975 // Name: Object name, expressed in its `language_code` language. 2976 Name string `json:"name,omitempty"` 2977 // Score: Score of the result. Range [0, 1]. 2978 Score float64 `json:"score,omitempty"` 2979 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 2980 // unconditionally include in API requests. By default, fields with empty or 2981 // default values are omitted from API requests. See 2982 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 2983 // details. 2984 ForceSendFields []string `json:"-"` 2985 // NullFields is a list of field names (e.g. "LanguageCode") to include in API 2986 // requests with the JSON null value. By default, fields with empty values are 2987 // omitted from API requests. See 2988 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 2989 NullFields []string `json:"-"` 2990 } 2991 2992 func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 2993 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation 2994 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 2995 } 2996 2997 func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 2998 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation 2999 var s1 struct { 3000 Score gensupport.JSONFloat64 `json:"score"` 3001 *NoMethod 3002 } 3003 s1.NoMethod = (*NoMethod)(s) 3004 if err := json.Unmarshal(data, &s1); err != nil { 3005 return err 3006 } 3007 s.Score = float64(s1.Score) 3008 return nil 3009 } 3010 3011 // GoogleCloudVisionV1p1beta1ProductSearchResultsResult: Information about a 3012 // product. 3013 type GoogleCloudVisionV1p1beta1ProductSearchResultsResult struct { 3014 // Image: The resource name of the image from the product that is the closest 3015 // match to the query. 3016 Image string `json:"image,omitempty"` 3017 // Product: The Product. 3018 Product *GoogleCloudVisionV1p1beta1Product `json:"product,omitempty"` 3019 // Score: A confidence level on the match, ranging from 0 (no confidence) to 1 3020 // (full confidence). 3021 Score float64 `json:"score,omitempty"` 3022 // ForceSendFields is a list of field names (e.g. "Image") to unconditionally 3023 // include in API requests. By default, fields with empty or default values are 3024 // omitted from API requests. See 3025 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3026 // details. 3027 ForceSendFields []string `json:"-"` 3028 // NullFields is a list of field names (e.g. "Image") to include in API 3029 // requests with the JSON null value. By default, fields with empty values are 3030 // omitted from API requests. See 3031 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3032 NullFields []string `json:"-"` 3033 } 3034 3035 func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 3036 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsResult 3037 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3038 } 3039 3040 func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 3041 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsResult 3042 var s1 struct { 3043 Score gensupport.JSONFloat64 `json:"score"` 3044 *NoMethod 3045 } 3046 s1.NoMethod = (*NoMethod)(s) 3047 if err := json.Unmarshal(data, &s1); err != nil { 3048 return err 3049 } 3050 s.Score = float64(s1.Score) 3051 return nil 3052 } 3053 3054 // GoogleCloudVisionV1p1beta1Property: A `Property` consists of a user-supplied 3055 // name/value pair. 3056 type GoogleCloudVisionV1p1beta1Property struct { 3057 // Name: Name of the property. 3058 Name string `json:"name,omitempty"` 3059 // Uint64Value: Value of numeric properties. 3060 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 3061 // Value: Value of the property. 3062 Value string `json:"value,omitempty"` 3063 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 3064 // include in API requests. By default, fields with empty or default values are 3065 // omitted from API requests. See 3066 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3067 // details. 3068 ForceSendFields []string `json:"-"` 3069 // NullFields is a list of field names (e.g. "Name") to include in API requests 3070 // with the JSON null value. By default, fields with empty values are omitted 3071 // from API requests. See 3072 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3073 NullFields []string `json:"-"` 3074 } 3075 3076 func (s *GoogleCloudVisionV1p1beta1Property) MarshalJSON() ([]byte, error) { 3077 type NoMethod GoogleCloudVisionV1p1beta1Property 3078 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3079 } 3080 3081 // GoogleCloudVisionV1p1beta1SafeSearchAnnotation: Set of features pertaining 3082 // to the image, computed by computer vision methods over safe-search verticals 3083 // (for example, adult, spoof, medical, violence). 3084 type GoogleCloudVisionV1p1beta1SafeSearchAnnotation struct { 3085 // Adult: Represents the adult content likelihood for the image. Adult content 3086 // may contain elements such as nudity, pornographic images or cartoons, or 3087 // sexual activities. 3088 // 3089 // Possible values: 3090 // "UNKNOWN" - Unknown likelihood. 3091 // "VERY_UNLIKELY" - It is very unlikely. 3092 // "UNLIKELY" - It is unlikely. 3093 // "POSSIBLE" - It is possible. 3094 // "LIKELY" - It is likely. 3095 // "VERY_LIKELY" - It is very likely. 3096 Adult string `json:"adult,omitempty"` 3097 // Medical: Likelihood that this is a medical image. 3098 // 3099 // Possible values: 3100 // "UNKNOWN" - Unknown likelihood. 3101 // "VERY_UNLIKELY" - It is very unlikely. 3102 // "UNLIKELY" - It is unlikely. 3103 // "POSSIBLE" - It is possible. 3104 // "LIKELY" - It is likely. 3105 // "VERY_LIKELY" - It is very likely. 3106 Medical string `json:"medical,omitempty"` 3107 // Racy: Likelihood that the request image contains racy content. Racy content 3108 // may include (but is not limited to) skimpy or sheer clothing, strategically 3109 // covered nudity, lewd or provocative poses, or close-ups of sensitive body 3110 // areas. 3111 // 3112 // Possible values: 3113 // "UNKNOWN" - Unknown likelihood. 3114 // "VERY_UNLIKELY" - It is very unlikely. 3115 // "UNLIKELY" - It is unlikely. 3116 // "POSSIBLE" - It is possible. 3117 // "LIKELY" - It is likely. 3118 // "VERY_LIKELY" - It is very likely. 3119 Racy string `json:"racy,omitempty"` 3120 // Spoof: Spoof likelihood. The likelihood that an modification was made to the 3121 // image's canonical version to make it appear funny or offensive. 3122 // 3123 // Possible values: 3124 // "UNKNOWN" - Unknown likelihood. 3125 // "VERY_UNLIKELY" - It is very unlikely. 3126 // "UNLIKELY" - It is unlikely. 3127 // "POSSIBLE" - It is possible. 3128 // "LIKELY" - It is likely. 3129 // "VERY_LIKELY" - It is very likely. 3130 Spoof string `json:"spoof,omitempty"` 3131 // Violence: Likelihood that this image contains violent content. Violent 3132 // content may include death, serious harm, or injury to individuals or groups 3133 // of individuals. 3134 // 3135 // Possible values: 3136 // "UNKNOWN" - Unknown likelihood. 3137 // "VERY_UNLIKELY" - It is very unlikely. 3138 // "UNLIKELY" - It is unlikely. 3139 // "POSSIBLE" - It is possible. 3140 // "LIKELY" - It is likely. 3141 // "VERY_LIKELY" - It is very likely. 3142 Violence string `json:"violence,omitempty"` 3143 // ForceSendFields is a list of field names (e.g. "Adult") to unconditionally 3144 // include in API requests. By default, fields with empty or default values are 3145 // omitted from API requests. See 3146 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3147 // details. 3148 ForceSendFields []string `json:"-"` 3149 // NullFields is a list of field names (e.g. "Adult") to include in API 3150 // requests with the JSON null value. By default, fields with empty values are 3151 // omitted from API requests. See 3152 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3153 NullFields []string `json:"-"` 3154 } 3155 3156 func (s *GoogleCloudVisionV1p1beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 3157 type NoMethod GoogleCloudVisionV1p1beta1SafeSearchAnnotation 3158 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3159 } 3160 3161 // GoogleCloudVisionV1p1beta1Symbol: A single symbol representation. 3162 type GoogleCloudVisionV1p1beta1Symbol struct { 3163 // BoundingBox: The bounding box for the symbol. The vertices are in the order 3164 // of top-left, top-right, bottom-right, bottom-left. When a rotation of the 3165 // bounding box is detected the rotation is represented as around the top-left 3166 // corner as defined when the text is read in the 'natural' orientation. For 3167 // example: * when the text is horizontal it might look like: 0----1 | | 3----2 3168 // * when it's rotated 180 degrees around the top-left corner it becomes: 3169 // 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). 3170 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 3171 // Confidence: Confidence of the OCR results for the symbol. Range [0, 1]. 3172 Confidence float64 `json:"confidence,omitempty"` 3173 // Property: Additional information detected for the symbol. 3174 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 3175 // Text: The actual UTF-8 representation of the symbol. 3176 Text string `json:"text,omitempty"` 3177 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 3178 // unconditionally include in API requests. By default, fields with empty or 3179 // default values are omitted from API requests. See 3180 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3181 // details. 3182 ForceSendFields []string `json:"-"` 3183 // NullFields is a list of field names (e.g. "BoundingBox") to include in API 3184 // requests with the JSON null value. By default, fields with empty values are 3185 // omitted from API requests. See 3186 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3187 NullFields []string `json:"-"` 3188 } 3189 3190 func (s *GoogleCloudVisionV1p1beta1Symbol) MarshalJSON() ([]byte, error) { 3191 type NoMethod GoogleCloudVisionV1p1beta1Symbol 3192 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3193 } 3194 3195 func (s *GoogleCloudVisionV1p1beta1Symbol) UnmarshalJSON(data []byte) error { 3196 type NoMethod GoogleCloudVisionV1p1beta1Symbol 3197 var s1 struct { 3198 Confidence gensupport.JSONFloat64 `json:"confidence"` 3199 *NoMethod 3200 } 3201 s1.NoMethod = (*NoMethod)(s) 3202 if err := json.Unmarshal(data, &s1); err != nil { 3203 return err 3204 } 3205 s.Confidence = float64(s1.Confidence) 3206 return nil 3207 } 3208 3209 // GoogleCloudVisionV1p1beta1TextAnnotation: TextAnnotation contains a 3210 // structured representation of OCR extracted text. The hierarchy of an OCR 3211 // extracted text structure is like this: TextAnnotation -> Page -> Block -> 3212 // Paragraph -> Word -> Symbol Each structural component, starting from Page, 3213 // may further have their own properties. Properties describe detected 3214 // languages, breaks etc.. Please refer to the TextAnnotation.TextProperty 3215 // message definition below for more detail. 3216 type GoogleCloudVisionV1p1beta1TextAnnotation struct { 3217 // Pages: List of pages detected by OCR. 3218 Pages []*GoogleCloudVisionV1p1beta1Page `json:"pages,omitempty"` 3219 // Text: UTF-8 text detected on the pages. 3220 Text string `json:"text,omitempty"` 3221 // ForceSendFields is a list of field names (e.g. "Pages") to unconditionally 3222 // include in API requests. By default, fields with empty or default values are 3223 // omitted from API requests. See 3224 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3225 // details. 3226 ForceSendFields []string `json:"-"` 3227 // NullFields is a list of field names (e.g. "Pages") to include in API 3228 // requests with the JSON null value. By default, fields with empty values are 3229 // omitted from API requests. See 3230 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3231 NullFields []string `json:"-"` 3232 } 3233 3234 func (s *GoogleCloudVisionV1p1beta1TextAnnotation) MarshalJSON() ([]byte, error) { 3235 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotation 3236 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3237 } 3238 3239 // GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak: Detected start or end 3240 // of a structural component. 3241 type GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak struct { 3242 // IsPrefix: True if break prepends the element. 3243 IsPrefix bool `json:"isPrefix,omitempty"` 3244 // Type: Detected break type. 3245 // 3246 // Possible values: 3247 // "UNKNOWN" - Unknown break label type. 3248 // "SPACE" - Regular space. 3249 // "SURE_SPACE" - Sure space (very wide). 3250 // "EOL_SURE_SPACE" - Line-wrapping break. 3251 // "HYPHEN" - End-line hyphen that is not present in text; does not co-occur 3252 // with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 3253 // "LINE_BREAK" - Line break that ends a paragraph. 3254 Type string `json:"type,omitempty"` 3255 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 3256 // unconditionally include in API requests. By default, fields with empty or 3257 // default values are omitted from API requests. See 3258 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3259 // details. 3260 ForceSendFields []string `json:"-"` 3261 // NullFields is a list of field names (e.g. "IsPrefix") to include in API 3262 // requests with the JSON null value. By default, fields with empty values are 3263 // omitted from API requests. See 3264 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3265 NullFields []string `json:"-"` 3266 } 3267 3268 func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 3269 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak 3270 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3271 } 3272 3273 // GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage: Detected language 3274 // for a structural component. 3275 type GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage struct { 3276 // Confidence: Confidence of detected language. Range [0, 1]. 3277 Confidence float64 `json:"confidence,omitempty"` 3278 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For 3279 // more information, see 3280 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 3281 LanguageCode string `json:"languageCode,omitempty"` 3282 // ForceSendFields is a list of field names (e.g. "Confidence") to 3283 // unconditionally include in API requests. By default, fields with empty or 3284 // default values are omitted from API requests. See 3285 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3286 // details. 3287 ForceSendFields []string `json:"-"` 3288 // NullFields is a list of field names (e.g. "Confidence") to include in API 3289 // requests with the JSON null value. By default, fields with empty values are 3290 // omitted from API requests. See 3291 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3292 NullFields []string `json:"-"` 3293 } 3294 3295 func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 3296 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage 3297 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3298 } 3299 3300 func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 3301 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage 3302 var s1 struct { 3303 Confidence gensupport.JSONFloat64 `json:"confidence"` 3304 *NoMethod 3305 } 3306 s1.NoMethod = (*NoMethod)(s) 3307 if err := json.Unmarshal(data, &s1); err != nil { 3308 return err 3309 } 3310 s.Confidence = float64(s1.Confidence) 3311 return nil 3312 } 3313 3314 // GoogleCloudVisionV1p1beta1TextAnnotationTextProperty: Additional information 3315 // detected on the structural component. 3316 type GoogleCloudVisionV1p1beta1TextAnnotationTextProperty struct { 3317 // DetectedBreak: Detected start or end of a text segment. 3318 DetectedBreak *GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 3319 // DetectedLanguages: A list of detected languages together with confidence. 3320 DetectedLanguages []*GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 3321 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 3322 // unconditionally include in API requests. By default, fields with empty or 3323 // default values are omitted from API requests. See 3324 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3325 // details. 3326 ForceSendFields []string `json:"-"` 3327 // NullFields is a list of field names (e.g. "DetectedBreak") to include in API 3328 // requests with the JSON null value. By default, fields with empty values are 3329 // omitted from API requests. See 3330 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3331 NullFields []string `json:"-"` 3332 } 3333 3334 func (s *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 3335 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationTextProperty 3336 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3337 } 3338 3339 // GoogleCloudVisionV1p1beta1TextDetectionParams: Parameters for text 3340 // detections. This is used to control TEXT_DETECTION and 3341 // DOCUMENT_TEXT_DETECTION features. 3342 type GoogleCloudVisionV1p1beta1TextDetectionParams struct { 3343 // AdvancedOcrOptions: A list of advanced OCR options to further fine-tune OCR 3344 // behavior. Current valid values are: - `legacy_layout`: a heuristics layout 3345 // detection algorithm, which serves as an alternative to the current ML-based 3346 // layout detection algorithm. Customers can choose the best suitable layout 3347 // algorithm based on their situation. 3348 AdvancedOcrOptions []string `json:"advancedOcrOptions,omitempty"` 3349 // EnableTextDetectionConfidenceScore: By default, Cloud Vision API only 3350 // includes confidence score for DOCUMENT_TEXT_DETECTION result. Set the flag 3351 // to true to include confidence score for TEXT_DETECTION as well. 3352 EnableTextDetectionConfidenceScore bool `json:"enableTextDetectionConfidenceScore,omitempty"` 3353 // ForceSendFields is a list of field names (e.g. "AdvancedOcrOptions") to 3354 // unconditionally include in API requests. By default, fields with empty or 3355 // default values are omitted from API requests. See 3356 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3357 // details. 3358 ForceSendFields []string `json:"-"` 3359 // NullFields is a list of field names (e.g. "AdvancedOcrOptions") to include 3360 // in API requests with the JSON null value. By default, fields with empty 3361 // values are omitted from API requests. See 3362 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3363 NullFields []string `json:"-"` 3364 } 3365 3366 func (s *GoogleCloudVisionV1p1beta1TextDetectionParams) MarshalJSON() ([]byte, error) { 3367 type NoMethod GoogleCloudVisionV1p1beta1TextDetectionParams 3368 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3369 } 3370 3371 // GoogleCloudVisionV1p1beta1Vertex: A vertex represents a 2D point in the 3372 // image. NOTE: the vertex coordinates are in the same scale as the original 3373 // image. 3374 type GoogleCloudVisionV1p1beta1Vertex struct { 3375 // X: X coordinate. 3376 X int64 `json:"x,omitempty"` 3377 // Y: Y coordinate. 3378 Y int64 `json:"y,omitempty"` 3379 // ForceSendFields is a list of field names (e.g. "X") to unconditionally 3380 // include in API requests. By default, fields with empty or default values are 3381 // omitted from API requests. See 3382 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3383 // details. 3384 ForceSendFields []string `json:"-"` 3385 // NullFields is a list of field names (e.g. "X") to include in API requests 3386 // with the JSON null value. By default, fields with empty values are omitted 3387 // from API requests. See 3388 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3389 NullFields []string `json:"-"` 3390 } 3391 3392 func (s *GoogleCloudVisionV1p1beta1Vertex) MarshalJSON() ([]byte, error) { 3393 type NoMethod GoogleCloudVisionV1p1beta1Vertex 3394 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3395 } 3396 3397 // GoogleCloudVisionV1p1beta1WebDetection: Relevant information for the image 3398 // from the Internet. 3399 type GoogleCloudVisionV1p1beta1WebDetection struct { 3400 // BestGuessLabels: The service's best guess as to the topic of the request 3401 // image. Inferred from similar images on the open web. 3402 BestGuessLabels []*GoogleCloudVisionV1p1beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 3403 // FullMatchingImages: Fully matching images from the Internet. Can include 3404 // resized copies of the query image. 3405 FullMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 3406 // PagesWithMatchingImages: Web pages containing the matching images from the 3407 // Internet. 3408 PagesWithMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 3409 // PartialMatchingImages: Partial matching images from the Internet. Those 3410 // images are similar enough to share some key-point features. For example an 3411 // original image will likely have partial matching for its crops. 3412 PartialMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 3413 // VisuallySimilarImages: The visually similar image results. 3414 VisuallySimilarImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 3415 // WebEntities: Deduced entities from similar images on the Internet. 3416 WebEntities []*GoogleCloudVisionV1p1beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 3417 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 3418 // unconditionally include in API requests. By default, fields with empty or 3419 // default values are omitted from API requests. See 3420 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3421 // details. 3422 ForceSendFields []string `json:"-"` 3423 // NullFields is a list of field names (e.g. "BestGuessLabels") to include in 3424 // API requests with the JSON null value. By default, fields with empty values 3425 // are omitted from API requests. See 3426 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3427 NullFields []string `json:"-"` 3428 } 3429 3430 func (s *GoogleCloudVisionV1p1beta1WebDetection) MarshalJSON() ([]byte, error) { 3431 type NoMethod GoogleCloudVisionV1p1beta1WebDetection 3432 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3433 } 3434 3435 // GoogleCloudVisionV1p1beta1WebDetectionParams: Parameters for web detection 3436 // request. 3437 type GoogleCloudVisionV1p1beta1WebDetectionParams struct { 3438 // IncludeGeoResults: This field has no effect on results. 3439 IncludeGeoResults bool `json:"includeGeoResults,omitempty"` 3440 // ForceSendFields is a list of field names (e.g. "IncludeGeoResults") to 3441 // unconditionally include in API requests. By default, fields with empty or 3442 // default values are omitted from API requests. See 3443 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3444 // details. 3445 ForceSendFields []string `json:"-"` 3446 // NullFields is a list of field names (e.g. "IncludeGeoResults") to include in 3447 // API requests with the JSON null value. By default, fields with empty values 3448 // are omitted from API requests. See 3449 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3450 NullFields []string `json:"-"` 3451 } 3452 3453 func (s *GoogleCloudVisionV1p1beta1WebDetectionParams) MarshalJSON() ([]byte, error) { 3454 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionParams 3455 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3456 } 3457 3458 // GoogleCloudVisionV1p1beta1WebDetectionWebEntity: Entity deduced from similar 3459 // images on the Internet. 3460 type GoogleCloudVisionV1p1beta1WebDetectionWebEntity struct { 3461 // Description: Canonical description of the entity, in English. 3462 Description string `json:"description,omitempty"` 3463 // EntityId: Opaque entity ID. 3464 EntityId string `json:"entityId,omitempty"` 3465 // Score: Overall relevancy score for the entity. Not normalized and not 3466 // comparable across different image queries. 3467 Score float64 `json:"score,omitempty"` 3468 // ForceSendFields is a list of field names (e.g. "Description") to 3469 // unconditionally include in API requests. By default, fields with empty or 3470 // default values are omitted from API requests. See 3471 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3472 // details. 3473 ForceSendFields []string `json:"-"` 3474 // NullFields is a list of field names (e.g. "Description") to include in API 3475 // requests with the JSON null value. By default, fields with empty values are 3476 // omitted from API requests. See 3477 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3478 NullFields []string `json:"-"` 3479 } 3480 3481 func (s *GoogleCloudVisionV1p1beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 3482 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebEntity 3483 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3484 } 3485 3486 func (s *GoogleCloudVisionV1p1beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 3487 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebEntity 3488 var s1 struct { 3489 Score gensupport.JSONFloat64 `json:"score"` 3490 *NoMethod 3491 } 3492 s1.NoMethod = (*NoMethod)(s) 3493 if err := json.Unmarshal(data, &s1); err != nil { 3494 return err 3495 } 3496 s.Score = float64(s1.Score) 3497 return nil 3498 } 3499 3500 // GoogleCloudVisionV1p1beta1WebDetectionWebImage: Metadata for online images. 3501 type GoogleCloudVisionV1p1beta1WebDetectionWebImage struct { 3502 // Score: (Deprecated) Overall relevancy score for the image. 3503 Score float64 `json:"score,omitempty"` 3504 // Url: The result image URL. 3505 Url string `json:"url,omitempty"` 3506 // ForceSendFields is a list of field names (e.g. "Score") to unconditionally 3507 // include in API requests. By default, fields with empty or default values are 3508 // omitted from API requests. See 3509 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3510 // details. 3511 ForceSendFields []string `json:"-"` 3512 // NullFields is a list of field names (e.g. "Score") to include in API 3513 // requests with the JSON null value. By default, fields with empty values are 3514 // omitted from API requests. See 3515 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3516 NullFields []string `json:"-"` 3517 } 3518 3519 func (s *GoogleCloudVisionV1p1beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 3520 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebImage 3521 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3522 } 3523 3524 func (s *GoogleCloudVisionV1p1beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 3525 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebImage 3526 var s1 struct { 3527 Score gensupport.JSONFloat64 `json:"score"` 3528 *NoMethod 3529 } 3530 s1.NoMethod = (*NoMethod)(s) 3531 if err := json.Unmarshal(data, &s1); err != nil { 3532 return err 3533 } 3534 s.Score = float64(s1.Score) 3535 return nil 3536 } 3537 3538 // GoogleCloudVisionV1p1beta1WebDetectionWebLabel: Label to provide extra 3539 // metadata for the web detection. 3540 type GoogleCloudVisionV1p1beta1WebDetectionWebLabel struct { 3541 // Label: Label for extra metadata. 3542 Label string `json:"label,omitempty"` 3543 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" or 3544 // "sr-Latn". For more information, see 3545 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 3546 LanguageCode string `json:"languageCode,omitempty"` 3547 // ForceSendFields is a list of field names (e.g. "Label") to unconditionally 3548 // include in API requests. By default, fields with empty or default values are 3549 // omitted from API requests. See 3550 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3551 // details. 3552 ForceSendFields []string `json:"-"` 3553 // NullFields is a list of field names (e.g. "Label") to include in API 3554 // requests with the JSON null value. By default, fields with empty values are 3555 // omitted from API requests. See 3556 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3557 NullFields []string `json:"-"` 3558 } 3559 3560 func (s *GoogleCloudVisionV1p1beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 3561 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebLabel 3562 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3563 } 3564 3565 // GoogleCloudVisionV1p1beta1WebDetectionWebPage: Metadata for web pages. 3566 type GoogleCloudVisionV1p1beta1WebDetectionWebPage struct { 3567 // FullMatchingImages: Fully matching images on the page. Can include resized 3568 // copies of the query image. 3569 FullMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 3570 // PageTitle: Title for the web page, may contain HTML markups. 3571 PageTitle string `json:"pageTitle,omitempty"` 3572 // PartialMatchingImages: Partial matching images on the page. Those images are 3573 // similar enough to share some key-point features. For example an original 3574 // image will likely have partial matching for its crops. 3575 PartialMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 3576 // Score: (Deprecated) Overall relevancy score for the web page. 3577 Score float64 `json:"score,omitempty"` 3578 // Url: The result web page URL. 3579 Url string `json:"url,omitempty"` 3580 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") to 3581 // unconditionally include in API requests. By default, fields with empty or 3582 // default values are omitted from API requests. See 3583 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3584 // details. 3585 ForceSendFields []string `json:"-"` 3586 // NullFields is a list of field names (e.g. "FullMatchingImages") to include 3587 // in API requests with the JSON null value. By default, fields with empty 3588 // values are omitted from API requests. See 3589 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3590 NullFields []string `json:"-"` 3591 } 3592 3593 func (s *GoogleCloudVisionV1p1beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 3594 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebPage 3595 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3596 } 3597 3598 func (s *GoogleCloudVisionV1p1beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 3599 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebPage 3600 var s1 struct { 3601 Score gensupport.JSONFloat64 `json:"score"` 3602 *NoMethod 3603 } 3604 s1.NoMethod = (*NoMethod)(s) 3605 if err := json.Unmarshal(data, &s1); err != nil { 3606 return err 3607 } 3608 s.Score = float64(s1.Score) 3609 return nil 3610 } 3611 3612 // GoogleCloudVisionV1p1beta1Word: A word representation. 3613 type GoogleCloudVisionV1p1beta1Word struct { 3614 // BoundingBox: The bounding box for the word. The vertices are in the order of 3615 // top-left, top-right, bottom-right, bottom-left. When a rotation of the 3616 // bounding box is detected the rotation is represented as around the top-left 3617 // corner as defined when the text is read in the 'natural' orientation. For 3618 // example: * when the text is horizontal it might look like: 0----1 | | 3----2 3619 // * when it's rotated 180 degrees around the top-left corner it becomes: 3620 // 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). 3621 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 3622 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 3623 Confidence float64 `json:"confidence,omitempty"` 3624 // Property: Additional information detected for the word. 3625 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 3626 // Symbols: List of symbols in the word. The order of the symbols follows the 3627 // natural reading order. 3628 Symbols []*GoogleCloudVisionV1p1beta1Symbol `json:"symbols,omitempty"` 3629 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 3630 // unconditionally include in API requests. By default, fields with empty or 3631 // default values are omitted from API requests. See 3632 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3633 // details. 3634 ForceSendFields []string `json:"-"` 3635 // NullFields is a list of field names (e.g. "BoundingBox") to include in API 3636 // requests with the JSON null value. By default, fields with empty values are 3637 // omitted from API requests. See 3638 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3639 NullFields []string `json:"-"` 3640 } 3641 3642 func (s *GoogleCloudVisionV1p1beta1Word) MarshalJSON() ([]byte, error) { 3643 type NoMethod GoogleCloudVisionV1p1beta1Word 3644 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3645 } 3646 3647 func (s *GoogleCloudVisionV1p1beta1Word) UnmarshalJSON(data []byte) error { 3648 type NoMethod GoogleCloudVisionV1p1beta1Word 3649 var s1 struct { 3650 Confidence gensupport.JSONFloat64 `json:"confidence"` 3651 *NoMethod 3652 } 3653 s1.NoMethod = (*NoMethod)(s) 3654 if err := json.Unmarshal(data, &s1); err != nil { 3655 return err 3656 } 3657 s.Confidence = float64(s1.Confidence) 3658 return nil 3659 } 3660 3661 // GoogleCloudVisionV1p2beta1AnnotateFileResponse: Response to a single file 3662 // annotation request. A file may contain one or more images, which 3663 // individually have their own responses. 3664 type GoogleCloudVisionV1p2beta1AnnotateFileResponse struct { 3665 // Error: If set, represents the error message for the failed request. The 3666 // `responses` field will not be set in this case. 3667 Error *Status `json:"error,omitempty"` 3668 // InputConfig: Information about the file for which this response is 3669 // generated. 3670 InputConfig *GoogleCloudVisionV1p2beta1InputConfig `json:"inputConfig,omitempty"` 3671 // Responses: Individual responses to images found within the file. This field 3672 // will be empty if the `error` field is set. 3673 Responses []*GoogleCloudVisionV1p2beta1AnnotateImageResponse `json:"responses,omitempty"` 3674 // TotalPages: This field gives the total number of pages in the file. 3675 TotalPages int64 `json:"totalPages,omitempty"` 3676 // ForceSendFields is a list of field names (e.g. "Error") to unconditionally 3677 // include in API requests. By default, fields with empty or default values are 3678 // omitted from API requests. See 3679 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3680 // details. 3681 ForceSendFields []string `json:"-"` 3682 // NullFields is a list of field names (e.g. "Error") to include in API 3683 // requests with the JSON null value. By default, fields with empty values are 3684 // omitted from API requests. See 3685 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3686 NullFields []string `json:"-"` 3687 } 3688 3689 func (s *GoogleCloudVisionV1p2beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 3690 type NoMethod GoogleCloudVisionV1p2beta1AnnotateFileResponse 3691 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3692 } 3693 3694 // GoogleCloudVisionV1p2beta1AnnotateImageResponse: Response to an image 3695 // annotation request. 3696 type GoogleCloudVisionV1p2beta1AnnotateImageResponse struct { 3697 // Context: If present, contextual information is needed to understand where 3698 // this image comes from. 3699 Context *GoogleCloudVisionV1p2beta1ImageAnnotationContext `json:"context,omitempty"` 3700 // CropHintsAnnotation: If present, crop hints have completed successfully. 3701 CropHintsAnnotation *GoogleCloudVisionV1p2beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 3702 // Error: If set, represents the error message for the operation. Note that 3703 // filled-in image annotations are guaranteed to be correct, even when `error` 3704 // is set. 3705 Error *Status `json:"error,omitempty"` 3706 // FaceAnnotations: If present, face detection has completed successfully. 3707 FaceAnnotations []*GoogleCloudVisionV1p2beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 3708 // FullTextAnnotation: If present, text (OCR) detection or document (OCR) text 3709 // detection has completed successfully. This annotation provides the 3710 // structural hierarchy for the OCR detected text. 3711 FullTextAnnotation *GoogleCloudVisionV1p2beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 3712 // ImagePropertiesAnnotation: If present, image properties were extracted 3713 // successfully. 3714 ImagePropertiesAnnotation *GoogleCloudVisionV1p2beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 3715 // LabelAnnotations: If present, label detection has completed successfully. 3716 LabelAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 3717 // LandmarkAnnotations: If present, landmark detection has completed 3718 // successfully. 3719 LandmarkAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 3720 // LocalizedObjectAnnotations: If present, localized object detection has 3721 // completed successfully. This will be sorted descending by confidence score. 3722 LocalizedObjectAnnotations []*GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 3723 // LogoAnnotations: If present, logo detection has completed successfully. 3724 LogoAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 3725 // ProductSearchResults: If present, product search has completed successfully. 3726 ProductSearchResults *GoogleCloudVisionV1p2beta1ProductSearchResults `json:"productSearchResults,omitempty"` 3727 // SafeSearchAnnotation: If present, safe-search annotation has completed 3728 // successfully. 3729 SafeSearchAnnotation *GoogleCloudVisionV1p2beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 3730 // TextAnnotations: If present, text (OCR) detection has completed 3731 // successfully. 3732 TextAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"textAnnotations,omitempty"` 3733 // WebDetection: If present, web detection has completed successfully. 3734 WebDetection *GoogleCloudVisionV1p2beta1WebDetection `json:"webDetection,omitempty"` 3735 // ForceSendFields is a list of field names (e.g. "Context") to unconditionally 3736 // include in API requests. By default, fields with empty or default values are 3737 // omitted from API requests. See 3738 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3739 // details. 3740 ForceSendFields []string `json:"-"` 3741 // NullFields is a list of field names (e.g. "Context") to include in API 3742 // requests with the JSON null value. By default, fields with empty values are 3743 // omitted from API requests. See 3744 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3745 NullFields []string `json:"-"` 3746 } 3747 3748 func (s *GoogleCloudVisionV1p2beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 3749 type NoMethod GoogleCloudVisionV1p2beta1AnnotateImageResponse 3750 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3751 } 3752 3753 // GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse: The response for a 3754 // single offline file annotation request. 3755 type GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse struct { 3756 // OutputConfig: The output location and metadata from 3757 // AsyncAnnotateFileRequest. 3758 OutputConfig *GoogleCloudVisionV1p2beta1OutputConfig `json:"outputConfig,omitempty"` 3759 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 3760 // unconditionally include in API requests. By default, fields with empty or 3761 // default values are omitted from API requests. See 3762 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3763 // details. 3764 ForceSendFields []string `json:"-"` 3765 // NullFields is a list of field names (e.g. "OutputConfig") to include in API 3766 // requests with the JSON null value. By default, fields with empty values are 3767 // omitted from API requests. See 3768 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3769 NullFields []string `json:"-"` 3770 } 3771 3772 func (s *GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 3773 type NoMethod GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse 3774 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3775 } 3776 3777 // GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse: Response to an 3778 // async batch file annotation request. 3779 type GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse struct { 3780 // Responses: The list of file annotation responses, one for each request in 3781 // AsyncBatchAnnotateFilesRequest. 3782 Responses []*GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 3783 // ForceSendFields is a list of field names (e.g. "Responses") to 3784 // unconditionally include in API requests. By default, fields with empty or 3785 // default values are omitted from API requests. See 3786 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3787 // details. 3788 ForceSendFields []string `json:"-"` 3789 // NullFields is a list of field names (e.g. "Responses") to include in API 3790 // requests with the JSON null value. By default, fields with empty values are 3791 // omitted from API requests. See 3792 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3793 NullFields []string `json:"-"` 3794 } 3795 3796 func (s *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 3797 type NoMethod GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse 3798 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3799 } 3800 3801 // GoogleCloudVisionV1p2beta1Block: Logical element on the page. 3802 type GoogleCloudVisionV1p2beta1Block struct { 3803 // BlockType: Detected block type (text, image etc) for this block. 3804 // 3805 // Possible values: 3806 // "UNKNOWN" - Unknown block type. 3807 // "TEXT" - Regular text block. 3808 // "TABLE" - Table block. 3809 // "PICTURE" - Image block. 3810 // "RULER" - Horizontal/vertical line box. 3811 // "BARCODE" - Barcode block. 3812 BlockType string `json:"blockType,omitempty"` 3813 // BoundingBox: The bounding box for the block. The vertices are in the order 3814 // of top-left, top-right, bottom-right, bottom-left. When a rotation of the 3815 // bounding box is detected the rotation is represented as around the top-left 3816 // corner as defined when the text is read in the 'natural' orientation. For 3817 // example: * when the text is horizontal it might look like: 0----1 | | 3----2 3818 // * when it's rotated 180 degrees around the top-left corner it becomes: 3819 // 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). 3820 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 3821 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 3822 Confidence float64 `json:"confidence,omitempty"` 3823 // Paragraphs: List of paragraphs in this block (if this blocks is of type 3824 // text). 3825 Paragraphs []*GoogleCloudVisionV1p2beta1Paragraph `json:"paragraphs,omitempty"` 3826 // Property: Additional information detected for the block. 3827 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 3828 // ForceSendFields is a list of field names (e.g. "BlockType") to 3829 // unconditionally include in API requests. By default, fields with empty or 3830 // default values are omitted from API requests. See 3831 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3832 // details. 3833 ForceSendFields []string `json:"-"` 3834 // NullFields is a list of field names (e.g. "BlockType") to include in API 3835 // requests with the JSON null value. By default, fields with empty values are 3836 // omitted from API requests. See 3837 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3838 NullFields []string `json:"-"` 3839 } 3840 3841 func (s *GoogleCloudVisionV1p2beta1Block) MarshalJSON() ([]byte, error) { 3842 type NoMethod GoogleCloudVisionV1p2beta1Block 3843 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3844 } 3845 3846 func (s *GoogleCloudVisionV1p2beta1Block) UnmarshalJSON(data []byte) error { 3847 type NoMethod GoogleCloudVisionV1p2beta1Block 3848 var s1 struct { 3849 Confidence gensupport.JSONFloat64 `json:"confidence"` 3850 *NoMethod 3851 } 3852 s1.NoMethod = (*NoMethod)(s) 3853 if err := json.Unmarshal(data, &s1); err != nil { 3854 return err 3855 } 3856 s.Confidence = float64(s1.Confidence) 3857 return nil 3858 } 3859 3860 // GoogleCloudVisionV1p2beta1BoundingPoly: A bounding polygon for the detected 3861 // image annotation. 3862 type GoogleCloudVisionV1p2beta1BoundingPoly struct { 3863 // NormalizedVertices: The bounding polygon normalized vertices. 3864 NormalizedVertices []*GoogleCloudVisionV1p2beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 3865 // Vertices: The bounding polygon vertices. 3866 Vertices []*GoogleCloudVisionV1p2beta1Vertex `json:"vertices,omitempty"` 3867 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") to 3868 // unconditionally include in API requests. By default, fields with empty or 3869 // default values are omitted from API requests. See 3870 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3871 // details. 3872 ForceSendFields []string `json:"-"` 3873 // NullFields is a list of field names (e.g. "NormalizedVertices") to include 3874 // in API requests with the JSON null value. By default, fields with empty 3875 // values are omitted from API requests. See 3876 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3877 NullFields []string `json:"-"` 3878 } 3879 3880 func (s *GoogleCloudVisionV1p2beta1BoundingPoly) MarshalJSON() ([]byte, error) { 3881 type NoMethod GoogleCloudVisionV1p2beta1BoundingPoly 3882 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3883 } 3884 3885 // GoogleCloudVisionV1p2beta1ColorInfo: Color information consists of RGB 3886 // channels, score, and the fraction of the image that the color occupies in 3887 // the image. 3888 type GoogleCloudVisionV1p2beta1ColorInfo struct { 3889 // Color: RGB components of the color. 3890 Color *Color `json:"color,omitempty"` 3891 // PixelFraction: The fraction of pixels the color occupies in the image. Value 3892 // in range [0, 1]. 3893 PixelFraction float64 `json:"pixelFraction,omitempty"` 3894 // Score: Image-specific score for this color. Value in range [0, 1]. 3895 Score float64 `json:"score,omitempty"` 3896 // ForceSendFields is a list of field names (e.g. "Color") to unconditionally 3897 // include in API requests. By default, fields with empty or default values are 3898 // omitted from API requests. See 3899 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3900 // details. 3901 ForceSendFields []string `json:"-"` 3902 // NullFields is a list of field names (e.g. "Color") to include in API 3903 // requests with the JSON null value. By default, fields with empty values are 3904 // omitted from API requests. See 3905 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3906 NullFields []string `json:"-"` 3907 } 3908 3909 func (s *GoogleCloudVisionV1p2beta1ColorInfo) MarshalJSON() ([]byte, error) { 3910 type NoMethod GoogleCloudVisionV1p2beta1ColorInfo 3911 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3912 } 3913 3914 func (s *GoogleCloudVisionV1p2beta1ColorInfo) UnmarshalJSON(data []byte) error { 3915 type NoMethod GoogleCloudVisionV1p2beta1ColorInfo 3916 var s1 struct { 3917 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 3918 Score gensupport.JSONFloat64 `json:"score"` 3919 *NoMethod 3920 } 3921 s1.NoMethod = (*NoMethod)(s) 3922 if err := json.Unmarshal(data, &s1); err != nil { 3923 return err 3924 } 3925 s.PixelFraction = float64(s1.PixelFraction) 3926 s.Score = float64(s1.Score) 3927 return nil 3928 } 3929 3930 // GoogleCloudVisionV1p2beta1CropHint: Single crop hint that is used to 3931 // generate a new crop when serving an image. 3932 type GoogleCloudVisionV1p2beta1CropHint struct { 3933 // BoundingPoly: The bounding polygon for the crop region. The coordinates of 3934 // the bounding box are in the original image's scale. 3935 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 3936 // Confidence: Confidence of this being a salient region. Range [0, 1]. 3937 Confidence float64 `json:"confidence,omitempty"` 3938 // ImportanceFraction: Fraction of importance of this salient region with 3939 // respect to the original image. 3940 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 3941 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 3942 // unconditionally include in API requests. By default, fields with empty or 3943 // default values are omitted from API requests. See 3944 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3945 // details. 3946 ForceSendFields []string `json:"-"` 3947 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 3948 // requests with the JSON null value. By default, fields with empty values are 3949 // omitted from API requests. See 3950 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3951 NullFields []string `json:"-"` 3952 } 3953 3954 func (s *GoogleCloudVisionV1p2beta1CropHint) MarshalJSON() ([]byte, error) { 3955 type NoMethod GoogleCloudVisionV1p2beta1CropHint 3956 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3957 } 3958 3959 func (s *GoogleCloudVisionV1p2beta1CropHint) UnmarshalJSON(data []byte) error { 3960 type NoMethod GoogleCloudVisionV1p2beta1CropHint 3961 var s1 struct { 3962 Confidence gensupport.JSONFloat64 `json:"confidence"` 3963 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 3964 *NoMethod 3965 } 3966 s1.NoMethod = (*NoMethod)(s) 3967 if err := json.Unmarshal(data, &s1); err != nil { 3968 return err 3969 } 3970 s.Confidence = float64(s1.Confidence) 3971 s.ImportanceFraction = float64(s1.ImportanceFraction) 3972 return nil 3973 } 3974 3975 // GoogleCloudVisionV1p2beta1CropHintsAnnotation: Set of crop hints that are 3976 // used to generate new crops when serving images. 3977 type GoogleCloudVisionV1p2beta1CropHintsAnnotation struct { 3978 // CropHints: Crop hint results. 3979 CropHints []*GoogleCloudVisionV1p2beta1CropHint `json:"cropHints,omitempty"` 3980 // ForceSendFields is a list of field names (e.g. "CropHints") to 3981 // unconditionally include in API requests. By default, fields with empty or 3982 // default values are omitted from API requests. See 3983 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 3984 // details. 3985 ForceSendFields []string `json:"-"` 3986 // NullFields is a list of field names (e.g. "CropHints") to include in API 3987 // requests with the JSON null value. By default, fields with empty values are 3988 // omitted from API requests. See 3989 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 3990 NullFields []string `json:"-"` 3991 } 3992 3993 func (s *GoogleCloudVisionV1p2beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 3994 type NoMethod GoogleCloudVisionV1p2beta1CropHintsAnnotation 3995 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 3996 } 3997 3998 // GoogleCloudVisionV1p2beta1DominantColorsAnnotation: Set of dominant colors 3999 // and their corresponding scores. 4000 type GoogleCloudVisionV1p2beta1DominantColorsAnnotation struct { 4001 // Colors: RGB color values with their score and pixel fraction. 4002 Colors []*GoogleCloudVisionV1p2beta1ColorInfo `json:"colors,omitempty"` 4003 // ForceSendFields is a list of field names (e.g. "Colors") to unconditionally 4004 // include in API requests. By default, fields with empty or default values are 4005 // omitted from API requests. See 4006 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4007 // details. 4008 ForceSendFields []string `json:"-"` 4009 // NullFields is a list of field names (e.g. "Colors") to include in API 4010 // requests with the JSON null value. By default, fields with empty values are 4011 // omitted from API requests. See 4012 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4013 NullFields []string `json:"-"` 4014 } 4015 4016 func (s *GoogleCloudVisionV1p2beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 4017 type NoMethod GoogleCloudVisionV1p2beta1DominantColorsAnnotation 4018 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4019 } 4020 4021 // GoogleCloudVisionV1p2beta1EntityAnnotation: Set of detected entity features. 4022 type GoogleCloudVisionV1p2beta1EntityAnnotation struct { 4023 // BoundingPoly: Image region to which this entity belongs. Not produced for 4024 // `LABEL_DETECTION` features. 4025 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 4026 // Confidence: **Deprecated. Use `score` instead.** The accuracy of the entity 4027 // detection in an image. For example, for an image in which the "Eiffel Tower" 4028 // entity is detected, this field represents the confidence that there is a 4029 // tower in the query image. Range [0, 1]. 4030 Confidence float64 `json:"confidence,omitempty"` 4031 // Description: Entity textual description, expressed in its `locale` language. 4032 Description string `json:"description,omitempty"` 4033 // Locale: The language code for the locale in which the entity textual 4034 // `description` is expressed. 4035 Locale string `json:"locale,omitempty"` 4036 // Locations: The location information for the detected entity. Multiple 4037 // `LocationInfo` elements can be present because one location may indicate the 4038 // location of the scene in the image, and another location may indicate the 4039 // location of the place where the image was taken. Location information is 4040 // usually present for landmarks. 4041 Locations []*GoogleCloudVisionV1p2beta1LocationInfo `json:"locations,omitempty"` 4042 // Mid: Opaque entity ID. Some IDs may be available in Google Knowledge Graph 4043 // Search API (https://developers.google.com/knowledge-graph/). 4044 Mid string `json:"mid,omitempty"` 4045 // Properties: Some entities may have optional user-supplied `Property` 4046 // (name/value) fields, such a score or string that qualifies the entity. 4047 Properties []*GoogleCloudVisionV1p2beta1Property `json:"properties,omitempty"` 4048 // Score: Overall score of the result. Range [0, 1]. 4049 Score float64 `json:"score,omitempty"` 4050 // Topicality: The relevancy of the ICA (Image Content Annotation) label to the 4051 // image. For example, the relevancy of "tower" is likely higher to an image 4052 // containing the detected "Eiffel Tower" than to an image containing a 4053 // detected distant towering building, even though the confidence that there is 4054 // a tower in each image may be the same. Range [0, 1]. 4055 Topicality float64 `json:"topicality,omitempty"` 4056 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 4057 // unconditionally include in API requests. By default, fields with empty or 4058 // default values are omitted from API requests. See 4059 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4060 // details. 4061 ForceSendFields []string `json:"-"` 4062 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 4063 // requests with the JSON null value. By default, fields with empty values are 4064 // omitted from API requests. See 4065 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4066 NullFields []string `json:"-"` 4067 } 4068 4069 func (s *GoogleCloudVisionV1p2beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 4070 type NoMethod GoogleCloudVisionV1p2beta1EntityAnnotation 4071 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4072 } 4073 4074 func (s *GoogleCloudVisionV1p2beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 4075 type NoMethod GoogleCloudVisionV1p2beta1EntityAnnotation 4076 var s1 struct { 4077 Confidence gensupport.JSONFloat64 `json:"confidence"` 4078 Score gensupport.JSONFloat64 `json:"score"` 4079 Topicality gensupport.JSONFloat64 `json:"topicality"` 4080 *NoMethod 4081 } 4082 s1.NoMethod = (*NoMethod)(s) 4083 if err := json.Unmarshal(data, &s1); err != nil { 4084 return err 4085 } 4086 s.Confidence = float64(s1.Confidence) 4087 s.Score = float64(s1.Score) 4088 s.Topicality = float64(s1.Topicality) 4089 return nil 4090 } 4091 4092 // GoogleCloudVisionV1p2beta1FaceAnnotation: A face annotation object contains 4093 // the results of face detection. 4094 type GoogleCloudVisionV1p2beta1FaceAnnotation struct { 4095 // AngerLikelihood: Anger likelihood. 4096 // 4097 // Possible values: 4098 // "UNKNOWN" - Unknown likelihood. 4099 // "VERY_UNLIKELY" - It is very unlikely. 4100 // "UNLIKELY" - It is unlikely. 4101 // "POSSIBLE" - It is possible. 4102 // "LIKELY" - It is likely. 4103 // "VERY_LIKELY" - It is very likely. 4104 AngerLikelihood string `json:"angerLikelihood,omitempty"` 4105 // BlurredLikelihood: Blurred likelihood. 4106 // 4107 // Possible values: 4108 // "UNKNOWN" - Unknown likelihood. 4109 // "VERY_UNLIKELY" - It is very unlikely. 4110 // "UNLIKELY" - It is unlikely. 4111 // "POSSIBLE" - It is possible. 4112 // "LIKELY" - It is likely. 4113 // "VERY_LIKELY" - It is very likely. 4114 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 4115 // BoundingPoly: The bounding polygon around the face. The coordinates of the 4116 // bounding box are in the original image's scale. The bounding box is computed 4117 // to "frame" the face in accordance with human expectations. It is based on 4118 // the landmarker results. Note that one or more x and/or y coordinates may not 4119 // be generated in the `BoundingPoly` (the polygon will be unbounded) if only a 4120 // partial face appears in the image to be annotated. 4121 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 4122 // DetectionConfidence: Detection confidence. Range [0, 1]. 4123 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 4124 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter than the 4125 // `boundingPoly`, and encloses only the skin part of the face. Typically, it 4126 // is used to eliminate the face from any image analysis that detects the 4127 // "amount of skin" visible in an image. It is not based on the landmarker 4128 // results, only on the initial face detection, hence the fd (face detection) 4129 // prefix. 4130 FdBoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 4131 // HeadwearLikelihood: Headwear likelihood. 4132 // 4133 // Possible values: 4134 // "UNKNOWN" - Unknown likelihood. 4135 // "VERY_UNLIKELY" - It is very unlikely. 4136 // "UNLIKELY" - It is unlikely. 4137 // "POSSIBLE" - It is possible. 4138 // "LIKELY" - It is likely. 4139 // "VERY_LIKELY" - It is very likely. 4140 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 4141 // JoyLikelihood: Joy likelihood. 4142 // 4143 // Possible values: 4144 // "UNKNOWN" - Unknown likelihood. 4145 // "VERY_UNLIKELY" - It is very unlikely. 4146 // "UNLIKELY" - It is unlikely. 4147 // "POSSIBLE" - It is possible. 4148 // "LIKELY" - It is likely. 4149 // "VERY_LIKELY" - It is very likely. 4150 JoyLikelihood string `json:"joyLikelihood,omitempty"` 4151 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 4152 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 4153 // Landmarks: Detected face landmarks. 4154 Landmarks []*GoogleCloudVisionV1p2beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 4155 // PanAngle: Yaw angle, which indicates the leftward/rightward angle that the 4156 // face is pointing relative to the vertical plane perpendicular to the image. 4157 // Range [-180,180]. 4158 PanAngle float64 `json:"panAngle,omitempty"` 4159 // RollAngle: Roll angle, which indicates the amount of 4160 // clockwise/anti-clockwise rotation of the face relative to the image vertical 4161 // about the axis perpendicular to the face. Range [-180,180]. 4162 RollAngle float64 `json:"rollAngle,omitempty"` 4163 // SorrowLikelihood: Sorrow likelihood. 4164 // 4165 // Possible values: 4166 // "UNKNOWN" - Unknown likelihood. 4167 // "VERY_UNLIKELY" - It is very unlikely. 4168 // "UNLIKELY" - It is unlikely. 4169 // "POSSIBLE" - It is possible. 4170 // "LIKELY" - It is likely. 4171 // "VERY_LIKELY" - It is very likely. 4172 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 4173 // SurpriseLikelihood: Surprise likelihood. 4174 // 4175 // Possible values: 4176 // "UNKNOWN" - Unknown likelihood. 4177 // "VERY_UNLIKELY" - It is very unlikely. 4178 // "UNLIKELY" - It is unlikely. 4179 // "POSSIBLE" - It is possible. 4180 // "LIKELY" - It is likely. 4181 // "VERY_LIKELY" - It is very likely. 4182 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 4183 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle that the 4184 // face is pointing relative to the image's horizontal plane. Range [-180,180]. 4185 TiltAngle float64 `json:"tiltAngle,omitempty"` 4186 // UnderExposedLikelihood: Under-exposed likelihood. 4187 // 4188 // Possible values: 4189 // "UNKNOWN" - Unknown likelihood. 4190 // "VERY_UNLIKELY" - It is very unlikely. 4191 // "UNLIKELY" - It is unlikely. 4192 // "POSSIBLE" - It is possible. 4193 // "LIKELY" - It is likely. 4194 // "VERY_LIKELY" - It is very likely. 4195 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 4196 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 4197 // unconditionally include in API requests. By default, fields with empty or 4198 // default values are omitted from API requests. See 4199 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4200 // details. 4201 ForceSendFields []string `json:"-"` 4202 // NullFields is a list of field names (e.g. "AngerLikelihood") to include in 4203 // API requests with the JSON null value. By default, fields with empty values 4204 // are omitted from API requests. See 4205 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4206 NullFields []string `json:"-"` 4207 } 4208 4209 func (s *GoogleCloudVisionV1p2beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 4210 type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotation 4211 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4212 } 4213 4214 func (s *GoogleCloudVisionV1p2beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 4215 type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotation 4216 var s1 struct { 4217 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 4218 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 4219 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 4220 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 4221 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 4222 *NoMethod 4223 } 4224 s1.NoMethod = (*NoMethod)(s) 4225 if err := json.Unmarshal(data, &s1); err != nil { 4226 return err 4227 } 4228 s.DetectionConfidence = float64(s1.DetectionConfidence) 4229 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 4230 s.PanAngle = float64(s1.PanAngle) 4231 s.RollAngle = float64(s1.RollAngle) 4232 s.TiltAngle = float64(s1.TiltAngle) 4233 return nil 4234 } 4235 4236 // GoogleCloudVisionV1p2beta1FaceAnnotationLandmark: A face-specific landmark 4237 // (for example, a face feature). 4238 type GoogleCloudVisionV1p2beta1FaceAnnotationLandmark struct { 4239 // Position: Face landmark position. 4240 Position *GoogleCloudVisionV1p2beta1Position `json:"position,omitempty"` 4241 // Type: Face landmark type. 4242 // 4243 // Possible values: 4244 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be filled. 4245 // "LEFT_EYE" - Left eye. 4246 // "RIGHT_EYE" - Right eye. 4247 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 4248 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 4249 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 4250 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 4251 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 4252 // "NOSE_TIP" - Nose tip. 4253 // "UPPER_LIP" - Upper lip. 4254 // "LOWER_LIP" - Lower lip. 4255 // "MOUTH_LEFT" - Mouth left. 4256 // "MOUTH_RIGHT" - Mouth right. 4257 // "MOUTH_CENTER" - Mouth center. 4258 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 4259 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 4260 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 4261 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 4262 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 4263 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 4264 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 4265 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 4266 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 4267 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 4268 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 4269 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 4270 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 4271 // "LEFT_EAR_TRAGION" - Left ear tragion. 4272 // "RIGHT_EAR_TRAGION" - Right ear tragion. 4273 // "LEFT_EYE_PUPIL" - Left eye pupil. 4274 // "RIGHT_EYE_PUPIL" - Right eye pupil. 4275 // "FOREHEAD_GLABELLA" - Forehead glabella. 4276 // "CHIN_GNATHION" - Chin gnathion. 4277 // "CHIN_LEFT_GONION" - Chin left gonion. 4278 // "CHIN_RIGHT_GONION" - Chin right gonion. 4279 // "LEFT_CHEEK_CENTER" - Left cheek center. 4280 // "RIGHT_CHEEK_CENTER" - Right cheek center. 4281 Type string `json:"type,omitempty"` 4282 // ForceSendFields is a list of field names (e.g. "Position") to 4283 // unconditionally include in API requests. By default, fields with empty or 4284 // default values are omitted from API requests. See 4285 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4286 // details. 4287 ForceSendFields []string `json:"-"` 4288 // NullFields is a list of field names (e.g. "Position") to include in API 4289 // requests with the JSON null value. By default, fields with empty values are 4290 // omitted from API requests. See 4291 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4292 NullFields []string `json:"-"` 4293 } 4294 4295 func (s *GoogleCloudVisionV1p2beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 4296 type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotationLandmark 4297 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4298 } 4299 4300 // GoogleCloudVisionV1p2beta1GcsDestination: The Google Cloud Storage location 4301 // where the output will be written to. 4302 type GoogleCloudVisionV1p2beta1GcsDestination struct { 4303 // Uri: Google Cloud Storage URI prefix where the results will be stored. 4304 // Results will be in JSON format and preceded by its corresponding input URI 4305 // prefix. This field can either represent a gcs file prefix or gcs directory. 4306 // In either case, the uri should be unique because in order to get all of the 4307 // output files, you will need to do a wildcard gcs search on the uri prefix 4308 // you provide. Examples: * File Prefix: gs://bucket-name/here/filenameprefix 4309 // The output files will be created in gs://bucket-name/here/ and the names of 4310 // the output files will begin with "filenameprefix". * Directory Prefix: 4311 // gs://bucket-name/some/location/ The output files will be created in 4312 // gs://bucket-name/some/location/ and the names of the output files could be 4313 // anything because there was no filename prefix specified. If multiple 4314 // outputs, each response is still AnnotateFileResponse, each of which contains 4315 // some subset of the full list of AnnotateImageResponse. Multiple outputs can 4316 // happen if, for example, the output JSON is too large and overflows into 4317 // multiple sharded files. 4318 Uri string `json:"uri,omitempty"` 4319 // ForceSendFields is a list of field names (e.g. "Uri") to unconditionally 4320 // include in API requests. By default, fields with empty or default values are 4321 // omitted from API requests. See 4322 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4323 // details. 4324 ForceSendFields []string `json:"-"` 4325 // NullFields is a list of field names (e.g. "Uri") to include in API requests 4326 // with the JSON null value. By default, fields with empty values are omitted 4327 // from API requests. See 4328 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4329 NullFields []string `json:"-"` 4330 } 4331 4332 func (s *GoogleCloudVisionV1p2beta1GcsDestination) MarshalJSON() ([]byte, error) { 4333 type NoMethod GoogleCloudVisionV1p2beta1GcsDestination 4334 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4335 } 4336 4337 // GoogleCloudVisionV1p2beta1GcsSource: The Google Cloud Storage location where 4338 // the input will be read from. 4339 type GoogleCloudVisionV1p2beta1GcsSource struct { 4340 // Uri: Google Cloud Storage URI for the input file. This must only be a Google 4341 // Cloud Storage object. Wildcards are not currently supported. 4342 Uri string `json:"uri,omitempty"` 4343 // ForceSendFields is a list of field names (e.g. "Uri") to unconditionally 4344 // include in API requests. By default, fields with empty or default values are 4345 // omitted from API requests. See 4346 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4347 // details. 4348 ForceSendFields []string `json:"-"` 4349 // NullFields is a list of field names (e.g. "Uri") to include in API requests 4350 // with the JSON null value. By default, fields with empty values are omitted 4351 // from API requests. See 4352 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4353 NullFields []string `json:"-"` 4354 } 4355 4356 func (s *GoogleCloudVisionV1p2beta1GcsSource) MarshalJSON() ([]byte, error) { 4357 type NoMethod GoogleCloudVisionV1p2beta1GcsSource 4358 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4359 } 4360 4361 // GoogleCloudVisionV1p2beta1ImageAnnotationContext: If an image was produced 4362 // from a file (e.g. a PDF), this message gives information about the source of 4363 // that image. 4364 type GoogleCloudVisionV1p2beta1ImageAnnotationContext struct { 4365 // PageNumber: If the file was a PDF or TIFF, this field gives the page number 4366 // within the file used to produce the image. 4367 PageNumber int64 `json:"pageNumber,omitempty"` 4368 // Uri: The URI of the file used to produce the image. 4369 Uri string `json:"uri,omitempty"` 4370 // ForceSendFields is a list of field names (e.g. "PageNumber") to 4371 // unconditionally include in API requests. By default, fields with empty or 4372 // default values are omitted from API requests. See 4373 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4374 // details. 4375 ForceSendFields []string `json:"-"` 4376 // NullFields is a list of field names (e.g. "PageNumber") to include in API 4377 // requests with the JSON null value. By default, fields with empty values are 4378 // omitted from API requests. See 4379 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4380 NullFields []string `json:"-"` 4381 } 4382 4383 func (s *GoogleCloudVisionV1p2beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 4384 type NoMethod GoogleCloudVisionV1p2beta1ImageAnnotationContext 4385 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4386 } 4387 4388 // GoogleCloudVisionV1p2beta1ImageProperties: Stores image properties, such as 4389 // dominant colors. 4390 type GoogleCloudVisionV1p2beta1ImageProperties struct { 4391 // DominantColors: If present, dominant colors completed successfully. 4392 DominantColors *GoogleCloudVisionV1p2beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 4393 // ForceSendFields is a list of field names (e.g. "DominantColors") to 4394 // unconditionally include in API requests. By default, fields with empty or 4395 // default values are omitted from API requests. See 4396 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4397 // details. 4398 ForceSendFields []string `json:"-"` 4399 // NullFields is a list of field names (e.g. "DominantColors") to include in 4400 // API requests with the JSON null value. By default, fields with empty values 4401 // are omitted from API requests. See 4402 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4403 NullFields []string `json:"-"` 4404 } 4405 4406 func (s *GoogleCloudVisionV1p2beta1ImageProperties) MarshalJSON() ([]byte, error) { 4407 type NoMethod GoogleCloudVisionV1p2beta1ImageProperties 4408 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4409 } 4410 4411 // GoogleCloudVisionV1p2beta1InputConfig: The desired input location and 4412 // metadata. 4413 type GoogleCloudVisionV1p2beta1InputConfig struct { 4414 // Content: File content, represented as a stream of bytes. Note: As with all 4415 // `bytes` fields, protobuffers use a pure binary representation, whereas JSON 4416 // representations use base64. Currently, this field only works for 4417 // BatchAnnotateFiles requests. It does not work for AsyncBatchAnnotateFiles 4418 // requests. 4419 Content string `json:"content,omitempty"` 4420 // GcsSource: The Google Cloud Storage location to read the input from. 4421 GcsSource *GoogleCloudVisionV1p2beta1GcsSource `json:"gcsSource,omitempty"` 4422 // MimeType: The type of the file. Currently only "application/pdf", 4423 // "image/tiff" and "image/gif" are supported. Wildcards are not supported. 4424 MimeType string `json:"mimeType,omitempty"` 4425 // ForceSendFields is a list of field names (e.g. "Content") to unconditionally 4426 // include in API requests. By default, fields with empty or default values are 4427 // omitted from API requests. See 4428 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4429 // details. 4430 ForceSendFields []string `json:"-"` 4431 // NullFields is a list of field names (e.g. "Content") to include in API 4432 // requests with the JSON null value. By default, fields with empty values are 4433 // omitted from API requests. See 4434 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4435 NullFields []string `json:"-"` 4436 } 4437 4438 func (s *GoogleCloudVisionV1p2beta1InputConfig) MarshalJSON() ([]byte, error) { 4439 type NoMethod GoogleCloudVisionV1p2beta1InputConfig 4440 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4441 } 4442 4443 // GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation: Set of detected objects 4444 // with bounding boxes. 4445 type GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation struct { 4446 // BoundingPoly: Image region to which this object belongs. This must be 4447 // populated. 4448 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 4449 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For 4450 // more information, see 4451 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 4452 LanguageCode string `json:"languageCode,omitempty"` 4453 // Mid: Object ID that should align with EntityAnnotation mid. 4454 Mid string `json:"mid,omitempty"` 4455 // Name: Object name, expressed in its `language_code` language. 4456 Name string `json:"name,omitempty"` 4457 // Score: Score of the result. Range [0, 1]. 4458 Score float64 `json:"score,omitempty"` 4459 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 4460 // unconditionally include in API requests. By default, fields with empty or 4461 // default values are omitted from API requests. See 4462 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4463 // details. 4464 ForceSendFields []string `json:"-"` 4465 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 4466 // requests with the JSON null value. By default, fields with empty values are 4467 // omitted from API requests. See 4468 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4469 NullFields []string `json:"-"` 4470 } 4471 4472 func (s *GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 4473 type NoMethod GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation 4474 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4475 } 4476 4477 func (s *GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 4478 type NoMethod GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation 4479 var s1 struct { 4480 Score gensupport.JSONFloat64 `json:"score"` 4481 *NoMethod 4482 } 4483 s1.NoMethod = (*NoMethod)(s) 4484 if err := json.Unmarshal(data, &s1); err != nil { 4485 return err 4486 } 4487 s.Score = float64(s1.Score) 4488 return nil 4489 } 4490 4491 // GoogleCloudVisionV1p2beta1LocationInfo: Detected entity location 4492 // information. 4493 type GoogleCloudVisionV1p2beta1LocationInfo struct { 4494 // LatLng: lat/long location coordinates. 4495 LatLng *LatLng `json:"latLng,omitempty"` 4496 // ForceSendFields is a list of field names (e.g. "LatLng") to unconditionally 4497 // include in API requests. By default, fields with empty or default values are 4498 // omitted from API requests. See 4499 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4500 // details. 4501 ForceSendFields []string `json:"-"` 4502 // NullFields is a list of field names (e.g. "LatLng") to include in API 4503 // requests with the JSON null value. By default, fields with empty values are 4504 // omitted from API requests. See 4505 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4506 NullFields []string `json:"-"` 4507 } 4508 4509 func (s *GoogleCloudVisionV1p2beta1LocationInfo) MarshalJSON() ([]byte, error) { 4510 type NoMethod GoogleCloudVisionV1p2beta1LocationInfo 4511 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4512 } 4513 4514 // GoogleCloudVisionV1p2beta1NormalizedVertex: A vertex represents a 2D point 4515 // in the image. NOTE: the normalized vertex coordinates are relative to the 4516 // original image and range from 0 to 1. 4517 type GoogleCloudVisionV1p2beta1NormalizedVertex struct { 4518 // X: X coordinate. 4519 X float64 `json:"x,omitempty"` 4520 // Y: Y coordinate. 4521 Y float64 `json:"y,omitempty"` 4522 // ForceSendFields is a list of field names (e.g. "X") to unconditionally 4523 // include in API requests. By default, fields with empty or default values are 4524 // omitted from API requests. See 4525 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4526 // details. 4527 ForceSendFields []string `json:"-"` 4528 // NullFields is a list of field names (e.g. "X") to include in API requests 4529 // with the JSON null value. By default, fields with empty values are omitted 4530 // from API requests. See 4531 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4532 NullFields []string `json:"-"` 4533 } 4534 4535 func (s *GoogleCloudVisionV1p2beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 4536 type NoMethod GoogleCloudVisionV1p2beta1NormalizedVertex 4537 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4538 } 4539 4540 func (s *GoogleCloudVisionV1p2beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 4541 type NoMethod GoogleCloudVisionV1p2beta1NormalizedVertex 4542 var s1 struct { 4543 X gensupport.JSONFloat64 `json:"x"` 4544 Y gensupport.JSONFloat64 `json:"y"` 4545 *NoMethod 4546 } 4547 s1.NoMethod = (*NoMethod)(s) 4548 if err := json.Unmarshal(data, &s1); err != nil { 4549 return err 4550 } 4551 s.X = float64(s1.X) 4552 s.Y = float64(s1.Y) 4553 return nil 4554 } 4555 4556 // GoogleCloudVisionV1p2beta1OperationMetadata: Contains metadata for the 4557 // BatchAnnotateImages operation. 4558 type GoogleCloudVisionV1p2beta1OperationMetadata struct { 4559 // CreateTime: The time when the batch request was received. 4560 CreateTime string `json:"createTime,omitempty"` 4561 // State: Current state of the batch operation. 4562 // 4563 // Possible values: 4564 // "STATE_UNSPECIFIED" - Invalid. 4565 // "CREATED" - Request is received. 4566 // "RUNNING" - Request is actively being processed. 4567 // "DONE" - The batch processing is done. 4568 // "CANCELLED" - The batch processing was cancelled. 4569 State string `json:"state,omitempty"` 4570 // UpdateTime: The time when the operation result was last updated. 4571 UpdateTime string `json:"updateTime,omitempty"` 4572 // ForceSendFields is a list of field names (e.g. "CreateTime") to 4573 // unconditionally include in API requests. By default, fields with empty or 4574 // default values are omitted from API requests. See 4575 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4576 // details. 4577 ForceSendFields []string `json:"-"` 4578 // NullFields is a list of field names (e.g. "CreateTime") to include in API 4579 // requests with the JSON null value. By default, fields with empty values are 4580 // omitted from API requests. See 4581 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4582 NullFields []string `json:"-"` 4583 } 4584 4585 func (s *GoogleCloudVisionV1p2beta1OperationMetadata) MarshalJSON() ([]byte, error) { 4586 type NoMethod GoogleCloudVisionV1p2beta1OperationMetadata 4587 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4588 } 4589 4590 // GoogleCloudVisionV1p2beta1OutputConfig: The desired output location and 4591 // metadata. 4592 type GoogleCloudVisionV1p2beta1OutputConfig struct { 4593 // BatchSize: The max number of response protos to put into each output JSON 4594 // file on Google Cloud Storage. The valid range is [1, 100]. If not specified, 4595 // the default value is 20. For example, for one pdf file with 100 pages, 100 4596 // response protos will be generated. If `batch_size` = 20, then 5 json files 4597 // each containing 20 response protos will be written under the prefix 4598 // `gcs_destination`.`uri`. Currently, batch_size only applies to 4599 // GcsDestination, with potential future support for other output 4600 // configurations. 4601 BatchSize int64 `json:"batchSize,omitempty"` 4602 // GcsDestination: The Google Cloud Storage location to write the output(s) to. 4603 GcsDestination *GoogleCloudVisionV1p2beta1GcsDestination `json:"gcsDestination,omitempty"` 4604 // ForceSendFields is a list of field names (e.g. "BatchSize") to 4605 // unconditionally include in API requests. By default, fields with empty or 4606 // default values are omitted from API requests. See 4607 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4608 // details. 4609 ForceSendFields []string `json:"-"` 4610 // NullFields is a list of field names (e.g. "BatchSize") to include in API 4611 // requests with the JSON null value. By default, fields with empty values are 4612 // omitted from API requests. See 4613 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4614 NullFields []string `json:"-"` 4615 } 4616 4617 func (s *GoogleCloudVisionV1p2beta1OutputConfig) MarshalJSON() ([]byte, error) { 4618 type NoMethod GoogleCloudVisionV1p2beta1OutputConfig 4619 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4620 } 4621 4622 // GoogleCloudVisionV1p2beta1Page: Detected page from OCR. 4623 type GoogleCloudVisionV1p2beta1Page struct { 4624 // Blocks: List of blocks of text, images etc on this page. 4625 Blocks []*GoogleCloudVisionV1p2beta1Block `json:"blocks,omitempty"` 4626 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 4627 Confidence float64 `json:"confidence,omitempty"` 4628 // Height: Page height. For PDFs the unit is points. For images (including 4629 // TIFFs) the unit is pixels. 4630 Height int64 `json:"height,omitempty"` 4631 // Property: Additional information detected on the page. 4632 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 4633 // Width: Page width. For PDFs the unit is points. For images (including TIFFs) 4634 // the unit is pixels. 4635 Width int64 `json:"width,omitempty"` 4636 // ForceSendFields is a list of field names (e.g. "Blocks") to unconditionally 4637 // include in API requests. By default, fields with empty or default values are 4638 // omitted from API requests. See 4639 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4640 // details. 4641 ForceSendFields []string `json:"-"` 4642 // NullFields is a list of field names (e.g. "Blocks") to include in API 4643 // requests with the JSON null value. By default, fields with empty values are 4644 // omitted from API requests. See 4645 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4646 NullFields []string `json:"-"` 4647 } 4648 4649 func (s *GoogleCloudVisionV1p2beta1Page) MarshalJSON() ([]byte, error) { 4650 type NoMethod GoogleCloudVisionV1p2beta1Page 4651 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4652 } 4653 4654 func (s *GoogleCloudVisionV1p2beta1Page) UnmarshalJSON(data []byte) error { 4655 type NoMethod GoogleCloudVisionV1p2beta1Page 4656 var s1 struct { 4657 Confidence gensupport.JSONFloat64 `json:"confidence"` 4658 *NoMethod 4659 } 4660 s1.NoMethod = (*NoMethod)(s) 4661 if err := json.Unmarshal(data, &s1); err != nil { 4662 return err 4663 } 4664 s.Confidence = float64(s1.Confidence) 4665 return nil 4666 } 4667 4668 // GoogleCloudVisionV1p2beta1Paragraph: Structural unit of text representing a 4669 // number of words in certain order. 4670 type GoogleCloudVisionV1p2beta1Paragraph struct { 4671 // BoundingBox: The bounding box for the paragraph. The vertices are in the 4672 // order of top-left, top-right, bottom-right, bottom-left. When a rotation of 4673 // the bounding box is detected the rotation is represented as around the 4674 // top-left corner as defined when the text is read in the 'natural' 4675 // orientation. For example: * when the text is horizontal it might look like: 4676 // 0----1 | | 3----2 * when it's rotated 180 degrees around the top-left corner 4677 // it becomes: 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 4678 // 3). 4679 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 4680 // Confidence: Confidence of the OCR results for the paragraph. Range [0, 1]. 4681 Confidence float64 `json:"confidence,omitempty"` 4682 // Property: Additional information detected for the paragraph. 4683 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 4684 // Words: List of all words in this paragraph. 4685 Words []*GoogleCloudVisionV1p2beta1Word `json:"words,omitempty"` 4686 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 4687 // unconditionally include in API requests. By default, fields with empty or 4688 // default values are omitted from API requests. See 4689 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4690 // details. 4691 ForceSendFields []string `json:"-"` 4692 // NullFields is a list of field names (e.g. "BoundingBox") to include in API 4693 // requests with the JSON null value. By default, fields with empty values are 4694 // omitted from API requests. See 4695 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4696 NullFields []string `json:"-"` 4697 } 4698 4699 func (s *GoogleCloudVisionV1p2beta1Paragraph) MarshalJSON() ([]byte, error) { 4700 type NoMethod GoogleCloudVisionV1p2beta1Paragraph 4701 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4702 } 4703 4704 func (s *GoogleCloudVisionV1p2beta1Paragraph) UnmarshalJSON(data []byte) error { 4705 type NoMethod GoogleCloudVisionV1p2beta1Paragraph 4706 var s1 struct { 4707 Confidence gensupport.JSONFloat64 `json:"confidence"` 4708 *NoMethod 4709 } 4710 s1.NoMethod = (*NoMethod)(s) 4711 if err := json.Unmarshal(data, &s1); err != nil { 4712 return err 4713 } 4714 s.Confidence = float64(s1.Confidence) 4715 return nil 4716 } 4717 4718 // GoogleCloudVisionV1p2beta1Position: A 3D position in the image, used 4719 // primarily for Face detection landmarks. A valid Position must have both x 4720 // and y coordinates. The position coordinates are in the same scale as the 4721 // original image. 4722 type GoogleCloudVisionV1p2beta1Position struct { 4723 // X: X coordinate. 4724 X float64 `json:"x,omitempty"` 4725 // Y: Y coordinate. 4726 Y float64 `json:"y,omitempty"` 4727 // Z: Z coordinate (or depth). 4728 Z float64 `json:"z,omitempty"` 4729 // ForceSendFields is a list of field names (e.g. "X") to unconditionally 4730 // include in API requests. By default, fields with empty or default values are 4731 // omitted from API requests. See 4732 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4733 // details. 4734 ForceSendFields []string `json:"-"` 4735 // NullFields is a list of field names (e.g. "X") to include in API requests 4736 // with the JSON null value. By default, fields with empty values are omitted 4737 // from API requests. See 4738 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4739 NullFields []string `json:"-"` 4740 } 4741 4742 func (s *GoogleCloudVisionV1p2beta1Position) MarshalJSON() ([]byte, error) { 4743 type NoMethod GoogleCloudVisionV1p2beta1Position 4744 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4745 } 4746 4747 func (s *GoogleCloudVisionV1p2beta1Position) UnmarshalJSON(data []byte) error { 4748 type NoMethod GoogleCloudVisionV1p2beta1Position 4749 var s1 struct { 4750 X gensupport.JSONFloat64 `json:"x"` 4751 Y gensupport.JSONFloat64 `json:"y"` 4752 Z gensupport.JSONFloat64 `json:"z"` 4753 *NoMethod 4754 } 4755 s1.NoMethod = (*NoMethod)(s) 4756 if err := json.Unmarshal(data, &s1); err != nil { 4757 return err 4758 } 4759 s.X = float64(s1.X) 4760 s.Y = float64(s1.Y) 4761 s.Z = float64(s1.Z) 4762 return nil 4763 } 4764 4765 // GoogleCloudVisionV1p2beta1Product: A Product contains ReferenceImages. 4766 type GoogleCloudVisionV1p2beta1Product struct { 4767 // Description: User-provided metadata to be stored with this product. Must be 4768 // at most 4096 characters long. 4769 Description string `json:"description,omitempty"` 4770 // DisplayName: The user-provided name for this Product. Must not be empty. 4771 // Must be at most 4096 characters long. 4772 DisplayName string `json:"displayName,omitempty"` 4773 // Name: The resource name of the product. Format is: 4774 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is 4775 // ignored when creating a product. 4776 Name string `json:"name,omitempty"` 4777 // ProductCategory: Immutable. The category for the product identified by the 4778 // reference image. This should be one of "homegoods-v2", "apparel-v2", 4779 // "toys-v2", "packagedgoods-v1" or "general-v1". The legacy categories 4780 // "homegoods", "apparel", and "toys" are still supported, but these should not 4781 // be used for new products. 4782 ProductCategory string `json:"productCategory,omitempty"` 4783 // ProductLabels: Key-value pairs that can be attached to a product. At query 4784 // time, constraints can be specified based on the product_labels. Note that 4785 // integer values can be provided as strings, e.g. "1199". Only strings with 4786 // integer values can match a range-based restriction which is to be supported 4787 // soon. Multiple values can be assigned to the same key. One product may have 4788 // up to 500 product_labels. Notice that the total number of distinct 4789 // product_labels over all products in one ProductSet cannot exceed 1M, 4790 // otherwise the product search pipeline will refuse to work for that 4791 // ProductSet. 4792 ProductLabels []*GoogleCloudVisionV1p2beta1ProductKeyValue `json:"productLabels,omitempty"` 4793 // ForceSendFields is a list of field names (e.g. "Description") to 4794 // unconditionally include in API requests. By default, fields with empty or 4795 // default values are omitted from API requests. See 4796 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4797 // details. 4798 ForceSendFields []string `json:"-"` 4799 // NullFields is a list of field names (e.g. "Description") to include in API 4800 // requests with the JSON null value. By default, fields with empty values are 4801 // omitted from API requests. See 4802 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4803 NullFields []string `json:"-"` 4804 } 4805 4806 func (s *GoogleCloudVisionV1p2beta1Product) MarshalJSON() ([]byte, error) { 4807 type NoMethod GoogleCloudVisionV1p2beta1Product 4808 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4809 } 4810 4811 // GoogleCloudVisionV1p2beta1ProductKeyValue: A product label represented as a 4812 // key-value pair. 4813 type GoogleCloudVisionV1p2beta1ProductKeyValue struct { 4814 // Key: The key of the label attached to the product. Cannot be empty and 4815 // cannot exceed 128 bytes. 4816 Key string `json:"key,omitempty"` 4817 // Value: The value of the label attached to the product. Cannot be empty and 4818 // cannot exceed 128 bytes. 4819 Value string `json:"value,omitempty"` 4820 // ForceSendFields is a list of field names (e.g. "Key") to unconditionally 4821 // include in API requests. By default, fields with empty or default values are 4822 // omitted from API requests. See 4823 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4824 // details. 4825 ForceSendFields []string `json:"-"` 4826 // NullFields is a list of field names (e.g. "Key") to include in API requests 4827 // with the JSON null value. By default, fields with empty values are omitted 4828 // from API requests. See 4829 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4830 NullFields []string `json:"-"` 4831 } 4832 4833 func (s *GoogleCloudVisionV1p2beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 4834 type NoMethod GoogleCloudVisionV1p2beta1ProductKeyValue 4835 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4836 } 4837 4838 // GoogleCloudVisionV1p2beta1ProductSearchResults: Results for a product search 4839 // request. 4840 type GoogleCloudVisionV1p2beta1ProductSearchResults struct { 4841 // IndexTime: Timestamp of the index which provided these results. Products 4842 // added to the product set and products removed from the product set after 4843 // this time are not reflected in the current results. 4844 IndexTime string `json:"indexTime,omitempty"` 4845 // ProductGroupedResults: List of results grouped by products detected in the 4846 // query image. Each entry corresponds to one bounding polygon in the query 4847 // image, and contains the matching products specific to that region. There may 4848 // be duplicate product matches in the union of all the per-product results. 4849 ProductGroupedResults []*GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 4850 // Results: List of results, one for each product match. 4851 Results []*GoogleCloudVisionV1p2beta1ProductSearchResultsResult `json:"results,omitempty"` 4852 // ForceSendFields is a list of field names (e.g. "IndexTime") to 4853 // unconditionally include in API requests. By default, fields with empty or 4854 // default values are omitted from API requests. See 4855 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4856 // details. 4857 ForceSendFields []string `json:"-"` 4858 // NullFields is a list of field names (e.g. "IndexTime") to include in API 4859 // requests with the JSON null value. By default, fields with empty values are 4860 // omitted from API requests. See 4861 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4862 NullFields []string `json:"-"` 4863 } 4864 4865 func (s *GoogleCloudVisionV1p2beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 4866 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResults 4867 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4868 } 4869 4870 // GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult: Information 4871 // about the products similar to a single product in a query image. 4872 type GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult struct { 4873 // BoundingPoly: The bounding polygon around the product detected in the query 4874 // image. 4875 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 4876 // ObjectAnnotations: List of generic predictions for the object in the 4877 // bounding box. 4878 ObjectAnnotations []*GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 4879 // Results: List of results, one for each product match. 4880 Results []*GoogleCloudVisionV1p2beta1ProductSearchResultsResult `json:"results,omitempty"` 4881 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 4882 // unconditionally include in API requests. By default, fields with empty or 4883 // default values are omitted from API requests. See 4884 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4885 // details. 4886 ForceSendFields []string `json:"-"` 4887 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 4888 // requests with the JSON null value. By default, fields with empty values are 4889 // omitted from API requests. See 4890 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4891 NullFields []string `json:"-"` 4892 } 4893 4894 func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 4895 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult 4896 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4897 } 4898 4899 // GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation: Prediction 4900 // for what the object in the bounding box is. 4901 type GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation struct { 4902 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For 4903 // more information, see 4904 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 4905 LanguageCode string `json:"languageCode,omitempty"` 4906 // Mid: Object ID that should align with EntityAnnotation mid. 4907 Mid string `json:"mid,omitempty"` 4908 // Name: Object name, expressed in its `language_code` language. 4909 Name string `json:"name,omitempty"` 4910 // Score: Score of the result. Range [0, 1]. 4911 Score float64 `json:"score,omitempty"` 4912 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 4913 // unconditionally include in API requests. By default, fields with empty or 4914 // default values are omitted from API requests. See 4915 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4916 // details. 4917 ForceSendFields []string `json:"-"` 4918 // NullFields is a list of field names (e.g. "LanguageCode") to include in API 4919 // requests with the JSON null value. By default, fields with empty values are 4920 // omitted from API requests. See 4921 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4922 NullFields []string `json:"-"` 4923 } 4924 4925 func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 4926 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation 4927 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4928 } 4929 4930 func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 4931 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation 4932 var s1 struct { 4933 Score gensupport.JSONFloat64 `json:"score"` 4934 *NoMethod 4935 } 4936 s1.NoMethod = (*NoMethod)(s) 4937 if err := json.Unmarshal(data, &s1); err != nil { 4938 return err 4939 } 4940 s.Score = float64(s1.Score) 4941 return nil 4942 } 4943 4944 // GoogleCloudVisionV1p2beta1ProductSearchResultsResult: Information about a 4945 // product. 4946 type GoogleCloudVisionV1p2beta1ProductSearchResultsResult struct { 4947 // Image: The resource name of the image from the product that is the closest 4948 // match to the query. 4949 Image string `json:"image,omitempty"` 4950 // Product: The Product. 4951 Product *GoogleCloudVisionV1p2beta1Product `json:"product,omitempty"` 4952 // Score: A confidence level on the match, ranging from 0 (no confidence) to 1 4953 // (full confidence). 4954 Score float64 `json:"score,omitempty"` 4955 // ForceSendFields is a list of field names (e.g. "Image") to unconditionally 4956 // include in API requests. By default, fields with empty or default values are 4957 // omitted from API requests. See 4958 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 4959 // details. 4960 ForceSendFields []string `json:"-"` 4961 // NullFields is a list of field names (e.g. "Image") to include in API 4962 // requests with the JSON null value. By default, fields with empty values are 4963 // omitted from API requests. See 4964 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 4965 NullFields []string `json:"-"` 4966 } 4967 4968 func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 4969 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsResult 4970 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 4971 } 4972 4973 func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 4974 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsResult 4975 var s1 struct { 4976 Score gensupport.JSONFloat64 `json:"score"` 4977 *NoMethod 4978 } 4979 s1.NoMethod = (*NoMethod)(s) 4980 if err := json.Unmarshal(data, &s1); err != nil { 4981 return err 4982 } 4983 s.Score = float64(s1.Score) 4984 return nil 4985 } 4986 4987 // GoogleCloudVisionV1p2beta1Property: A `Property` consists of a user-supplied 4988 // name/value pair. 4989 type GoogleCloudVisionV1p2beta1Property struct { 4990 // Name: Name of the property. 4991 Name string `json:"name,omitempty"` 4992 // Uint64Value: Value of numeric properties. 4993 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 4994 // Value: Value of the property. 4995 Value string `json:"value,omitempty"` 4996 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 4997 // include in API requests. By default, fields with empty or default values are 4998 // omitted from API requests. See 4999 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5000 // details. 5001 ForceSendFields []string `json:"-"` 5002 // NullFields is a list of field names (e.g. "Name") to include in API requests 5003 // with the JSON null value. By default, fields with empty values are omitted 5004 // from API requests. See 5005 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5006 NullFields []string `json:"-"` 5007 } 5008 5009 func (s *GoogleCloudVisionV1p2beta1Property) MarshalJSON() ([]byte, error) { 5010 type NoMethod GoogleCloudVisionV1p2beta1Property 5011 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5012 } 5013 5014 // GoogleCloudVisionV1p2beta1SafeSearchAnnotation: Set of features pertaining 5015 // to the image, computed by computer vision methods over safe-search verticals 5016 // (for example, adult, spoof, medical, violence). 5017 type GoogleCloudVisionV1p2beta1SafeSearchAnnotation struct { 5018 // Adult: Represents the adult content likelihood for the image. Adult content 5019 // may contain elements such as nudity, pornographic images or cartoons, or 5020 // sexual activities. 5021 // 5022 // Possible values: 5023 // "UNKNOWN" - Unknown likelihood. 5024 // "VERY_UNLIKELY" - It is very unlikely. 5025 // "UNLIKELY" - It is unlikely. 5026 // "POSSIBLE" - It is possible. 5027 // "LIKELY" - It is likely. 5028 // "VERY_LIKELY" - It is very likely. 5029 Adult string `json:"adult,omitempty"` 5030 // Medical: Likelihood that this is a medical image. 5031 // 5032 // Possible values: 5033 // "UNKNOWN" - Unknown likelihood. 5034 // "VERY_UNLIKELY" - It is very unlikely. 5035 // "UNLIKELY" - It is unlikely. 5036 // "POSSIBLE" - It is possible. 5037 // "LIKELY" - It is likely. 5038 // "VERY_LIKELY" - It is very likely. 5039 Medical string `json:"medical,omitempty"` 5040 // Racy: Likelihood that the request image contains racy content. Racy content 5041 // may include (but is not limited to) skimpy or sheer clothing, strategically 5042 // covered nudity, lewd or provocative poses, or close-ups of sensitive body 5043 // areas. 5044 // 5045 // Possible values: 5046 // "UNKNOWN" - Unknown likelihood. 5047 // "VERY_UNLIKELY" - It is very unlikely. 5048 // "UNLIKELY" - It is unlikely. 5049 // "POSSIBLE" - It is possible. 5050 // "LIKELY" - It is likely. 5051 // "VERY_LIKELY" - It is very likely. 5052 Racy string `json:"racy,omitempty"` 5053 // Spoof: Spoof likelihood. The likelihood that an modification was made to the 5054 // image's canonical version to make it appear funny or offensive. 5055 // 5056 // Possible values: 5057 // "UNKNOWN" - Unknown likelihood. 5058 // "VERY_UNLIKELY" - It is very unlikely. 5059 // "UNLIKELY" - It is unlikely. 5060 // "POSSIBLE" - It is possible. 5061 // "LIKELY" - It is likely. 5062 // "VERY_LIKELY" - It is very likely. 5063 Spoof string `json:"spoof,omitempty"` 5064 // Violence: Likelihood that this image contains violent content. Violent 5065 // content may include death, serious harm, or injury to individuals or groups 5066 // of individuals. 5067 // 5068 // Possible values: 5069 // "UNKNOWN" - Unknown likelihood. 5070 // "VERY_UNLIKELY" - It is very unlikely. 5071 // "UNLIKELY" - It is unlikely. 5072 // "POSSIBLE" - It is possible. 5073 // "LIKELY" - It is likely. 5074 // "VERY_LIKELY" - It is very likely. 5075 Violence string `json:"violence,omitempty"` 5076 // ForceSendFields is a list of field names (e.g. "Adult") to unconditionally 5077 // include in API requests. By default, fields with empty or default values are 5078 // omitted from API requests. See 5079 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5080 // details. 5081 ForceSendFields []string `json:"-"` 5082 // NullFields is a list of field names (e.g. "Adult") to include in API 5083 // requests with the JSON null value. By default, fields with empty values are 5084 // omitted from API requests. See 5085 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5086 NullFields []string `json:"-"` 5087 } 5088 5089 func (s *GoogleCloudVisionV1p2beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 5090 type NoMethod GoogleCloudVisionV1p2beta1SafeSearchAnnotation 5091 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5092 } 5093 5094 // GoogleCloudVisionV1p2beta1Symbol: A single symbol representation. 5095 type GoogleCloudVisionV1p2beta1Symbol struct { 5096 // BoundingBox: The bounding box for the symbol. The vertices are in the order 5097 // of top-left, top-right, bottom-right, bottom-left. When a rotation of the 5098 // bounding box is detected the rotation is represented as around the top-left 5099 // corner as defined when the text is read in the 'natural' orientation. For 5100 // example: * when the text is horizontal it might look like: 0----1 | | 3----2 5101 // * when it's rotated 180 degrees around the top-left corner it becomes: 5102 // 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). 5103 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 5104 // Confidence: Confidence of the OCR results for the symbol. Range [0, 1]. 5105 Confidence float64 `json:"confidence,omitempty"` 5106 // Property: Additional information detected for the symbol. 5107 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 5108 // Text: The actual UTF-8 representation of the symbol. 5109 Text string `json:"text,omitempty"` 5110 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 5111 // unconditionally include in API requests. By default, fields with empty or 5112 // default values are omitted from API requests. See 5113 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5114 // details. 5115 ForceSendFields []string `json:"-"` 5116 // NullFields is a list of field names (e.g. "BoundingBox") to include in API 5117 // requests with the JSON null value. By default, fields with empty values are 5118 // omitted from API requests. See 5119 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5120 NullFields []string `json:"-"` 5121 } 5122 5123 func (s *GoogleCloudVisionV1p2beta1Symbol) MarshalJSON() ([]byte, error) { 5124 type NoMethod GoogleCloudVisionV1p2beta1Symbol 5125 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5126 } 5127 5128 func (s *GoogleCloudVisionV1p2beta1Symbol) UnmarshalJSON(data []byte) error { 5129 type NoMethod GoogleCloudVisionV1p2beta1Symbol 5130 var s1 struct { 5131 Confidence gensupport.JSONFloat64 `json:"confidence"` 5132 *NoMethod 5133 } 5134 s1.NoMethod = (*NoMethod)(s) 5135 if err := json.Unmarshal(data, &s1); err != nil { 5136 return err 5137 } 5138 s.Confidence = float64(s1.Confidence) 5139 return nil 5140 } 5141 5142 // GoogleCloudVisionV1p2beta1TextAnnotation: TextAnnotation contains a 5143 // structured representation of OCR extracted text. The hierarchy of an OCR 5144 // extracted text structure is like this: TextAnnotation -> Page -> Block -> 5145 // Paragraph -> Word -> Symbol Each structural component, starting from Page, 5146 // may further have their own properties. Properties describe detected 5147 // languages, breaks etc.. Please refer to the TextAnnotation.TextProperty 5148 // message definition below for more detail. 5149 type GoogleCloudVisionV1p2beta1TextAnnotation struct { 5150 // Pages: List of pages detected by OCR. 5151 Pages []*GoogleCloudVisionV1p2beta1Page `json:"pages,omitempty"` 5152 // Text: UTF-8 text detected on the pages. 5153 Text string `json:"text,omitempty"` 5154 // ForceSendFields is a list of field names (e.g. "Pages") to unconditionally 5155 // include in API requests. By default, fields with empty or default values are 5156 // omitted from API requests. See 5157 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5158 // details. 5159 ForceSendFields []string `json:"-"` 5160 // NullFields is a list of field names (e.g. "Pages") to include in API 5161 // requests with the JSON null value. By default, fields with empty values are 5162 // omitted from API requests. See 5163 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5164 NullFields []string `json:"-"` 5165 } 5166 5167 func (s *GoogleCloudVisionV1p2beta1TextAnnotation) MarshalJSON() ([]byte, error) { 5168 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotation 5169 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5170 } 5171 5172 // GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak: Detected start or end 5173 // of a structural component. 5174 type GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak struct { 5175 // IsPrefix: True if break prepends the element. 5176 IsPrefix bool `json:"isPrefix,omitempty"` 5177 // Type: Detected break type. 5178 // 5179 // Possible values: 5180 // "UNKNOWN" - Unknown break label type. 5181 // "SPACE" - Regular space. 5182 // "SURE_SPACE" - Sure space (very wide). 5183 // "EOL_SURE_SPACE" - Line-wrapping break. 5184 // "HYPHEN" - End-line hyphen that is not present in text; does not co-occur 5185 // with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 5186 // "LINE_BREAK" - Line break that ends a paragraph. 5187 Type string `json:"type,omitempty"` 5188 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 5189 // unconditionally include in API requests. By default, fields with empty or 5190 // default values are omitted from API requests. See 5191 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5192 // details. 5193 ForceSendFields []string `json:"-"` 5194 // NullFields is a list of field names (e.g. "IsPrefix") to include in API 5195 // requests with the JSON null value. By default, fields with empty values are 5196 // omitted from API requests. See 5197 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5198 NullFields []string `json:"-"` 5199 } 5200 5201 func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 5202 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak 5203 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5204 } 5205 5206 // GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage: Detected language 5207 // for a structural component. 5208 type GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage struct { 5209 // Confidence: Confidence of detected language. Range [0, 1]. 5210 Confidence float64 `json:"confidence,omitempty"` 5211 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For 5212 // more information, see 5213 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 5214 LanguageCode string `json:"languageCode,omitempty"` 5215 // ForceSendFields is a list of field names (e.g. "Confidence") to 5216 // unconditionally include in API requests. By default, fields with empty or 5217 // default values are omitted from API requests. See 5218 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5219 // details. 5220 ForceSendFields []string `json:"-"` 5221 // NullFields is a list of field names (e.g. "Confidence") to include in API 5222 // requests with the JSON null value. By default, fields with empty values are 5223 // omitted from API requests. See 5224 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5225 NullFields []string `json:"-"` 5226 } 5227 5228 func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 5229 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage 5230 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5231 } 5232 5233 func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 5234 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage 5235 var s1 struct { 5236 Confidence gensupport.JSONFloat64 `json:"confidence"` 5237 *NoMethod 5238 } 5239 s1.NoMethod = (*NoMethod)(s) 5240 if err := json.Unmarshal(data, &s1); err != nil { 5241 return err 5242 } 5243 s.Confidence = float64(s1.Confidence) 5244 return nil 5245 } 5246 5247 // GoogleCloudVisionV1p2beta1TextAnnotationTextProperty: Additional information 5248 // detected on the structural component. 5249 type GoogleCloudVisionV1p2beta1TextAnnotationTextProperty struct { 5250 // DetectedBreak: Detected start or end of a text segment. 5251 DetectedBreak *GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 5252 // DetectedLanguages: A list of detected languages together with confidence. 5253 DetectedLanguages []*GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 5254 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 5255 // unconditionally include in API requests. By default, fields with empty or 5256 // default values are omitted from API requests. See 5257 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5258 // details. 5259 ForceSendFields []string `json:"-"` 5260 // NullFields is a list of field names (e.g. "DetectedBreak") to include in API 5261 // requests with the JSON null value. By default, fields with empty values are 5262 // omitted from API requests. See 5263 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5264 NullFields []string `json:"-"` 5265 } 5266 5267 func (s *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 5268 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationTextProperty 5269 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5270 } 5271 5272 // GoogleCloudVisionV1p2beta1Vertex: A vertex represents a 2D point in the 5273 // image. NOTE: the vertex coordinates are in the same scale as the original 5274 // image. 5275 type GoogleCloudVisionV1p2beta1Vertex struct { 5276 // X: X coordinate. 5277 X int64 `json:"x,omitempty"` 5278 // Y: Y coordinate. 5279 Y int64 `json:"y,omitempty"` 5280 // ForceSendFields is a list of field names (e.g. "X") to unconditionally 5281 // include in API requests. By default, fields with empty or default values are 5282 // omitted from API requests. See 5283 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5284 // details. 5285 ForceSendFields []string `json:"-"` 5286 // NullFields is a list of field names (e.g. "X") to include in API requests 5287 // with the JSON null value. By default, fields with empty values are omitted 5288 // from API requests. See 5289 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5290 NullFields []string `json:"-"` 5291 } 5292 5293 func (s *GoogleCloudVisionV1p2beta1Vertex) MarshalJSON() ([]byte, error) { 5294 type NoMethod GoogleCloudVisionV1p2beta1Vertex 5295 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5296 } 5297 5298 // GoogleCloudVisionV1p2beta1WebDetection: Relevant information for the image 5299 // from the Internet. 5300 type GoogleCloudVisionV1p2beta1WebDetection struct { 5301 // BestGuessLabels: The service's best guess as to the topic of the request 5302 // image. Inferred from similar images on the open web. 5303 BestGuessLabels []*GoogleCloudVisionV1p2beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 5304 // FullMatchingImages: Fully matching images from the Internet. Can include 5305 // resized copies of the query image. 5306 FullMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 5307 // PagesWithMatchingImages: Web pages containing the matching images from the 5308 // Internet. 5309 PagesWithMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 5310 // PartialMatchingImages: Partial matching images from the Internet. Those 5311 // images are similar enough to share some key-point features. For example an 5312 // original image will likely have partial matching for its crops. 5313 PartialMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 5314 // VisuallySimilarImages: The visually similar image results. 5315 VisuallySimilarImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 5316 // WebEntities: Deduced entities from similar images on the Internet. 5317 WebEntities []*GoogleCloudVisionV1p2beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 5318 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 5319 // unconditionally include in API requests. By default, fields with empty or 5320 // default values are omitted from API requests. See 5321 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5322 // details. 5323 ForceSendFields []string `json:"-"` 5324 // NullFields is a list of field names (e.g. "BestGuessLabels") to include in 5325 // API requests with the JSON null value. By default, fields with empty values 5326 // are omitted from API requests. See 5327 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5328 NullFields []string `json:"-"` 5329 } 5330 5331 func (s *GoogleCloudVisionV1p2beta1WebDetection) MarshalJSON() ([]byte, error) { 5332 type NoMethod GoogleCloudVisionV1p2beta1WebDetection 5333 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5334 } 5335 5336 // GoogleCloudVisionV1p2beta1WebDetectionWebEntity: Entity deduced from similar 5337 // images on the Internet. 5338 type GoogleCloudVisionV1p2beta1WebDetectionWebEntity struct { 5339 // Description: Canonical description of the entity, in English. 5340 Description string `json:"description,omitempty"` 5341 // EntityId: Opaque entity ID. 5342 EntityId string `json:"entityId,omitempty"` 5343 // Score: Overall relevancy score for the entity. Not normalized and not 5344 // comparable across different image queries. 5345 Score float64 `json:"score,omitempty"` 5346 // ForceSendFields is a list of field names (e.g. "Description") to 5347 // unconditionally include in API requests. By default, fields with empty or 5348 // default values are omitted from API requests. See 5349 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5350 // details. 5351 ForceSendFields []string `json:"-"` 5352 // NullFields is a list of field names (e.g. "Description") to include in API 5353 // requests with the JSON null value. By default, fields with empty values are 5354 // omitted from API requests. See 5355 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5356 NullFields []string `json:"-"` 5357 } 5358 5359 func (s *GoogleCloudVisionV1p2beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 5360 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebEntity 5361 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5362 } 5363 5364 func (s *GoogleCloudVisionV1p2beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 5365 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebEntity 5366 var s1 struct { 5367 Score gensupport.JSONFloat64 `json:"score"` 5368 *NoMethod 5369 } 5370 s1.NoMethod = (*NoMethod)(s) 5371 if err := json.Unmarshal(data, &s1); err != nil { 5372 return err 5373 } 5374 s.Score = float64(s1.Score) 5375 return nil 5376 } 5377 5378 // GoogleCloudVisionV1p2beta1WebDetectionWebImage: Metadata for online images. 5379 type GoogleCloudVisionV1p2beta1WebDetectionWebImage struct { 5380 // Score: (Deprecated) Overall relevancy score for the image. 5381 Score float64 `json:"score,omitempty"` 5382 // Url: The result image URL. 5383 Url string `json:"url,omitempty"` 5384 // ForceSendFields is a list of field names (e.g. "Score") to unconditionally 5385 // include in API requests. By default, fields with empty or default values are 5386 // omitted from API requests. See 5387 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5388 // details. 5389 ForceSendFields []string `json:"-"` 5390 // NullFields is a list of field names (e.g. "Score") to include in API 5391 // requests with the JSON null value. By default, fields with empty values are 5392 // omitted from API requests. See 5393 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5394 NullFields []string `json:"-"` 5395 } 5396 5397 func (s *GoogleCloudVisionV1p2beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 5398 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebImage 5399 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5400 } 5401 5402 func (s *GoogleCloudVisionV1p2beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 5403 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebImage 5404 var s1 struct { 5405 Score gensupport.JSONFloat64 `json:"score"` 5406 *NoMethod 5407 } 5408 s1.NoMethod = (*NoMethod)(s) 5409 if err := json.Unmarshal(data, &s1); err != nil { 5410 return err 5411 } 5412 s.Score = float64(s1.Score) 5413 return nil 5414 } 5415 5416 // GoogleCloudVisionV1p2beta1WebDetectionWebLabel: Label to provide extra 5417 // metadata for the web detection. 5418 type GoogleCloudVisionV1p2beta1WebDetectionWebLabel struct { 5419 // Label: Label for extra metadata. 5420 Label string `json:"label,omitempty"` 5421 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" or 5422 // "sr-Latn". For more information, see 5423 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 5424 LanguageCode string `json:"languageCode,omitempty"` 5425 // ForceSendFields is a list of field names (e.g. "Label") to unconditionally 5426 // include in API requests. By default, fields with empty or default values are 5427 // omitted from API requests. See 5428 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5429 // details. 5430 ForceSendFields []string `json:"-"` 5431 // NullFields is a list of field names (e.g. "Label") to include in API 5432 // requests with the JSON null value. By default, fields with empty values are 5433 // omitted from API requests. See 5434 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5435 NullFields []string `json:"-"` 5436 } 5437 5438 func (s *GoogleCloudVisionV1p2beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 5439 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebLabel 5440 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5441 } 5442 5443 // GoogleCloudVisionV1p2beta1WebDetectionWebPage: Metadata for web pages. 5444 type GoogleCloudVisionV1p2beta1WebDetectionWebPage struct { 5445 // FullMatchingImages: Fully matching images on the page. Can include resized 5446 // copies of the query image. 5447 FullMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 5448 // PageTitle: Title for the web page, may contain HTML markups. 5449 PageTitle string `json:"pageTitle,omitempty"` 5450 // PartialMatchingImages: Partial matching images on the page. Those images are 5451 // similar enough to share some key-point features. For example an original 5452 // image will likely have partial matching for its crops. 5453 PartialMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 5454 // Score: (Deprecated) Overall relevancy score for the web page. 5455 Score float64 `json:"score,omitempty"` 5456 // Url: The result web page URL. 5457 Url string `json:"url,omitempty"` 5458 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") to 5459 // unconditionally include in API requests. By default, fields with empty or 5460 // default values are omitted from API requests. See 5461 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5462 // details. 5463 ForceSendFields []string `json:"-"` 5464 // NullFields is a list of field names (e.g. "FullMatchingImages") to include 5465 // in API requests with the JSON null value. By default, fields with empty 5466 // values are omitted from API requests. See 5467 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5468 NullFields []string `json:"-"` 5469 } 5470 5471 func (s *GoogleCloudVisionV1p2beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 5472 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebPage 5473 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5474 } 5475 5476 func (s *GoogleCloudVisionV1p2beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 5477 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebPage 5478 var s1 struct { 5479 Score gensupport.JSONFloat64 `json:"score"` 5480 *NoMethod 5481 } 5482 s1.NoMethod = (*NoMethod)(s) 5483 if err := json.Unmarshal(data, &s1); err != nil { 5484 return err 5485 } 5486 s.Score = float64(s1.Score) 5487 return nil 5488 } 5489 5490 // GoogleCloudVisionV1p2beta1Word: A word representation. 5491 type GoogleCloudVisionV1p2beta1Word struct { 5492 // BoundingBox: The bounding box for the word. The vertices are in the order of 5493 // top-left, top-right, bottom-right, bottom-left. When a rotation of the 5494 // bounding box is detected the rotation is represented as around the top-left 5495 // corner as defined when the text is read in the 'natural' orientation. For 5496 // example: * when the text is horizontal it might look like: 0----1 | | 3----2 5497 // * when it's rotated 180 degrees around the top-left corner it becomes: 5498 // 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). 5499 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 5500 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 5501 Confidence float64 `json:"confidence,omitempty"` 5502 // Property: Additional information detected for the word. 5503 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 5504 // Symbols: List of symbols in the word. The order of the symbols follows the 5505 // natural reading order. 5506 Symbols []*GoogleCloudVisionV1p2beta1Symbol `json:"symbols,omitempty"` 5507 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 5508 // unconditionally include in API requests. By default, fields with empty or 5509 // default values are omitted from API requests. See 5510 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5511 // details. 5512 ForceSendFields []string `json:"-"` 5513 // NullFields is a list of field names (e.g. "BoundingBox") to include in API 5514 // requests with the JSON null value. By default, fields with empty values are 5515 // omitted from API requests. See 5516 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5517 NullFields []string `json:"-"` 5518 } 5519 5520 func (s *GoogleCloudVisionV1p2beta1Word) MarshalJSON() ([]byte, error) { 5521 type NoMethod GoogleCloudVisionV1p2beta1Word 5522 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5523 } 5524 5525 func (s *GoogleCloudVisionV1p2beta1Word) UnmarshalJSON(data []byte) error { 5526 type NoMethod GoogleCloudVisionV1p2beta1Word 5527 var s1 struct { 5528 Confidence gensupport.JSONFloat64 `json:"confidence"` 5529 *NoMethod 5530 } 5531 s1.NoMethod = (*NoMethod)(s) 5532 if err := json.Unmarshal(data, &s1); err != nil { 5533 return err 5534 } 5535 s.Confidence = float64(s1.Confidence) 5536 return nil 5537 } 5538 5539 // GoogleCloudVisionV1p3beta1AnnotateFileResponse: Response to a single file 5540 // annotation request. A file may contain one or more images, which 5541 // individually have their own responses. 5542 type GoogleCloudVisionV1p3beta1AnnotateFileResponse struct { 5543 // Error: If set, represents the error message for the failed request. The 5544 // `responses` field will not be set in this case. 5545 Error *Status `json:"error,omitempty"` 5546 // InputConfig: Information about the file for which this response is 5547 // generated. 5548 InputConfig *GoogleCloudVisionV1p3beta1InputConfig `json:"inputConfig,omitempty"` 5549 // Responses: Individual responses to images found within the file. This field 5550 // will be empty if the `error` field is set. 5551 Responses []*GoogleCloudVisionV1p3beta1AnnotateImageResponse `json:"responses,omitempty"` 5552 // TotalPages: This field gives the total number of pages in the file. 5553 TotalPages int64 `json:"totalPages,omitempty"` 5554 // ForceSendFields is a list of field names (e.g. "Error") to unconditionally 5555 // include in API requests. By default, fields with empty or default values are 5556 // omitted from API requests. See 5557 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5558 // details. 5559 ForceSendFields []string `json:"-"` 5560 // NullFields is a list of field names (e.g. "Error") to include in API 5561 // requests with the JSON null value. By default, fields with empty values are 5562 // omitted from API requests. See 5563 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5564 NullFields []string `json:"-"` 5565 } 5566 5567 func (s *GoogleCloudVisionV1p3beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 5568 type NoMethod GoogleCloudVisionV1p3beta1AnnotateFileResponse 5569 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5570 } 5571 5572 // GoogleCloudVisionV1p3beta1AnnotateImageResponse: Response to an image 5573 // annotation request. 5574 type GoogleCloudVisionV1p3beta1AnnotateImageResponse struct { 5575 // Context: If present, contextual information is needed to understand where 5576 // this image comes from. 5577 Context *GoogleCloudVisionV1p3beta1ImageAnnotationContext `json:"context,omitempty"` 5578 // CropHintsAnnotation: If present, crop hints have completed successfully. 5579 CropHintsAnnotation *GoogleCloudVisionV1p3beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 5580 // Error: If set, represents the error message for the operation. Note that 5581 // filled-in image annotations are guaranteed to be correct, even when `error` 5582 // is set. 5583 Error *Status `json:"error,omitempty"` 5584 // FaceAnnotations: If present, face detection has completed successfully. 5585 FaceAnnotations []*GoogleCloudVisionV1p3beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 5586 // FullTextAnnotation: If present, text (OCR) detection or document (OCR) text 5587 // detection has completed successfully. This annotation provides the 5588 // structural hierarchy for the OCR detected text. 5589 FullTextAnnotation *GoogleCloudVisionV1p3beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 5590 // ImagePropertiesAnnotation: If present, image properties were extracted 5591 // successfully. 5592 ImagePropertiesAnnotation *GoogleCloudVisionV1p3beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 5593 // LabelAnnotations: If present, label detection has completed successfully. 5594 LabelAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 5595 // LandmarkAnnotations: If present, landmark detection has completed 5596 // successfully. 5597 LandmarkAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 5598 // LocalizedObjectAnnotations: If present, localized object detection has 5599 // completed successfully. This will be sorted descending by confidence score. 5600 LocalizedObjectAnnotations []*GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 5601 // LogoAnnotations: If present, logo detection has completed successfully. 5602 LogoAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 5603 // ProductSearchResults: If present, product search has completed successfully. 5604 ProductSearchResults *GoogleCloudVisionV1p3beta1ProductSearchResults `json:"productSearchResults,omitempty"` 5605 // SafeSearchAnnotation: If present, safe-search annotation has completed 5606 // successfully. 5607 SafeSearchAnnotation *GoogleCloudVisionV1p3beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 5608 // TextAnnotations: If present, text (OCR) detection has completed 5609 // successfully. 5610 TextAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"textAnnotations,omitempty"` 5611 // WebDetection: If present, web detection has completed successfully. 5612 WebDetection *GoogleCloudVisionV1p3beta1WebDetection `json:"webDetection,omitempty"` 5613 // ForceSendFields is a list of field names (e.g. "Context") to unconditionally 5614 // include in API requests. By default, fields with empty or default values are 5615 // omitted from API requests. See 5616 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5617 // details. 5618 ForceSendFields []string `json:"-"` 5619 // NullFields is a list of field names (e.g. "Context") to include in API 5620 // requests with the JSON null value. By default, fields with empty values are 5621 // omitted from API requests. See 5622 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5623 NullFields []string `json:"-"` 5624 } 5625 5626 func (s *GoogleCloudVisionV1p3beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 5627 type NoMethod GoogleCloudVisionV1p3beta1AnnotateImageResponse 5628 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5629 } 5630 5631 // GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse: The response for a 5632 // single offline file annotation request. 5633 type GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse struct { 5634 // OutputConfig: The output location and metadata from 5635 // AsyncAnnotateFileRequest. 5636 OutputConfig *GoogleCloudVisionV1p3beta1OutputConfig `json:"outputConfig,omitempty"` 5637 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 5638 // unconditionally include in API requests. By default, fields with empty or 5639 // default values are omitted from API requests. See 5640 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5641 // details. 5642 ForceSendFields []string `json:"-"` 5643 // NullFields is a list of field names (e.g. "OutputConfig") to include in API 5644 // requests with the JSON null value. By default, fields with empty values are 5645 // omitted from API requests. See 5646 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5647 NullFields []string `json:"-"` 5648 } 5649 5650 func (s *GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 5651 type NoMethod GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse 5652 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5653 } 5654 5655 // GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse: Response to an 5656 // async batch file annotation request. 5657 type GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse struct { 5658 // Responses: The list of file annotation responses, one for each request in 5659 // AsyncBatchAnnotateFilesRequest. 5660 Responses []*GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 5661 // ForceSendFields is a list of field names (e.g. "Responses") to 5662 // unconditionally include in API requests. By default, fields with empty or 5663 // default values are omitted from API requests. See 5664 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5665 // details. 5666 ForceSendFields []string `json:"-"` 5667 // NullFields is a list of field names (e.g. "Responses") to include in API 5668 // requests with the JSON null value. By default, fields with empty values are 5669 // omitted from API requests. See 5670 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5671 NullFields []string `json:"-"` 5672 } 5673 5674 func (s *GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 5675 type NoMethod GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse 5676 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5677 } 5678 5679 // GoogleCloudVisionV1p3beta1BatchOperationMetadata: Metadata for the batch 5680 // operations such as the current state. This is included in the `metadata` 5681 // field of the `Operation` returned by the `GetOperation` call of the 5682 // `google::longrunning::Operations` service. 5683 type GoogleCloudVisionV1p3beta1BatchOperationMetadata struct { 5684 // EndTime: The time when the batch request is finished and 5685 // google.longrunning.Operation.done is set to true. 5686 EndTime string `json:"endTime,omitempty"` 5687 // State: The current state of the batch operation. 5688 // 5689 // Possible values: 5690 // "STATE_UNSPECIFIED" - Invalid. 5691 // "PROCESSING" - Request is actively being processed. 5692 // "SUCCESSFUL" - The request is done and at least one item has been 5693 // successfully processed. 5694 // "FAILED" - The request is done and no item has been successfully 5695 // processed. 5696 // "CANCELLED" - The request is done after the 5697 // longrunning.Operations.CancelOperation has been called by the user. Any 5698 // records that were processed before the cancel command are output as 5699 // specified in the request. 5700 State string `json:"state,omitempty"` 5701 // SubmitTime: The time when the batch request was submitted to the server. 5702 SubmitTime string `json:"submitTime,omitempty"` 5703 // ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally 5704 // include in API requests. By default, fields with empty or default values are 5705 // omitted from API requests. See 5706 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5707 // details. 5708 ForceSendFields []string `json:"-"` 5709 // NullFields is a list of field names (e.g. "EndTime") to include in API 5710 // requests with the JSON null value. By default, fields with empty values are 5711 // omitted from API requests. See 5712 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5713 NullFields []string `json:"-"` 5714 } 5715 5716 func (s *GoogleCloudVisionV1p3beta1BatchOperationMetadata) MarshalJSON() ([]byte, error) { 5717 type NoMethod GoogleCloudVisionV1p3beta1BatchOperationMetadata 5718 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5719 } 5720 5721 // GoogleCloudVisionV1p3beta1Block: Logical element on the page. 5722 type GoogleCloudVisionV1p3beta1Block struct { 5723 // BlockType: Detected block type (text, image etc) for this block. 5724 // 5725 // Possible values: 5726 // "UNKNOWN" - Unknown block type. 5727 // "TEXT" - Regular text block. 5728 // "TABLE" - Table block. 5729 // "PICTURE" - Image block. 5730 // "RULER" - Horizontal/vertical line box. 5731 // "BARCODE" - Barcode block. 5732 BlockType string `json:"blockType,omitempty"` 5733 // BoundingBox: The bounding box for the block. The vertices are in the order 5734 // of top-left, top-right, bottom-right, bottom-left. When a rotation of the 5735 // bounding box is detected the rotation is represented as around the top-left 5736 // corner as defined when the text is read in the 'natural' orientation. For 5737 // example: * when the text is horizontal it might look like: 0----1 | | 3----2 5738 // * when it's rotated 180 degrees around the top-left corner it becomes: 5739 // 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). 5740 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 5741 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 5742 Confidence float64 `json:"confidence,omitempty"` 5743 // Paragraphs: List of paragraphs in this block (if this blocks is of type 5744 // text). 5745 Paragraphs []*GoogleCloudVisionV1p3beta1Paragraph `json:"paragraphs,omitempty"` 5746 // Property: Additional information detected for the block. 5747 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 5748 // ForceSendFields is a list of field names (e.g. "BlockType") to 5749 // unconditionally include in API requests. By default, fields with empty or 5750 // default values are omitted from API requests. See 5751 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5752 // details. 5753 ForceSendFields []string `json:"-"` 5754 // NullFields is a list of field names (e.g. "BlockType") to include in API 5755 // requests with the JSON null value. By default, fields with empty values are 5756 // omitted from API requests. See 5757 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5758 NullFields []string `json:"-"` 5759 } 5760 5761 func (s *GoogleCloudVisionV1p3beta1Block) MarshalJSON() ([]byte, error) { 5762 type NoMethod GoogleCloudVisionV1p3beta1Block 5763 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5764 } 5765 5766 func (s *GoogleCloudVisionV1p3beta1Block) UnmarshalJSON(data []byte) error { 5767 type NoMethod GoogleCloudVisionV1p3beta1Block 5768 var s1 struct { 5769 Confidence gensupport.JSONFloat64 `json:"confidence"` 5770 *NoMethod 5771 } 5772 s1.NoMethod = (*NoMethod)(s) 5773 if err := json.Unmarshal(data, &s1); err != nil { 5774 return err 5775 } 5776 s.Confidence = float64(s1.Confidence) 5777 return nil 5778 } 5779 5780 // GoogleCloudVisionV1p3beta1BoundingPoly: A bounding polygon for the detected 5781 // image annotation. 5782 type GoogleCloudVisionV1p3beta1BoundingPoly struct { 5783 // NormalizedVertices: The bounding polygon normalized vertices. 5784 NormalizedVertices []*GoogleCloudVisionV1p3beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 5785 // Vertices: The bounding polygon vertices. 5786 Vertices []*GoogleCloudVisionV1p3beta1Vertex `json:"vertices,omitempty"` 5787 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") to 5788 // unconditionally include in API requests. By default, fields with empty or 5789 // default values are omitted from API requests. See 5790 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5791 // details. 5792 ForceSendFields []string `json:"-"` 5793 // NullFields is a list of field names (e.g. "NormalizedVertices") to include 5794 // in API requests with the JSON null value. By default, fields with empty 5795 // values are omitted from API requests. See 5796 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5797 NullFields []string `json:"-"` 5798 } 5799 5800 func (s *GoogleCloudVisionV1p3beta1BoundingPoly) MarshalJSON() ([]byte, error) { 5801 type NoMethod GoogleCloudVisionV1p3beta1BoundingPoly 5802 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5803 } 5804 5805 // GoogleCloudVisionV1p3beta1ColorInfo: Color information consists of RGB 5806 // channels, score, and the fraction of the image that the color occupies in 5807 // the image. 5808 type GoogleCloudVisionV1p3beta1ColorInfo struct { 5809 // Color: RGB components of the color. 5810 Color *Color `json:"color,omitempty"` 5811 // PixelFraction: The fraction of pixels the color occupies in the image. Value 5812 // in range [0, 1]. 5813 PixelFraction float64 `json:"pixelFraction,omitempty"` 5814 // Score: Image-specific score for this color. Value in range [0, 1]. 5815 Score float64 `json:"score,omitempty"` 5816 // ForceSendFields is a list of field names (e.g. "Color") to unconditionally 5817 // include in API requests. By default, fields with empty or default values are 5818 // omitted from API requests. See 5819 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5820 // details. 5821 ForceSendFields []string `json:"-"` 5822 // NullFields is a list of field names (e.g. "Color") to include in API 5823 // requests with the JSON null value. By default, fields with empty values are 5824 // omitted from API requests. See 5825 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5826 NullFields []string `json:"-"` 5827 } 5828 5829 func (s *GoogleCloudVisionV1p3beta1ColorInfo) MarshalJSON() ([]byte, error) { 5830 type NoMethod GoogleCloudVisionV1p3beta1ColorInfo 5831 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5832 } 5833 5834 func (s *GoogleCloudVisionV1p3beta1ColorInfo) UnmarshalJSON(data []byte) error { 5835 type NoMethod GoogleCloudVisionV1p3beta1ColorInfo 5836 var s1 struct { 5837 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 5838 Score gensupport.JSONFloat64 `json:"score"` 5839 *NoMethod 5840 } 5841 s1.NoMethod = (*NoMethod)(s) 5842 if err := json.Unmarshal(data, &s1); err != nil { 5843 return err 5844 } 5845 s.PixelFraction = float64(s1.PixelFraction) 5846 s.Score = float64(s1.Score) 5847 return nil 5848 } 5849 5850 // GoogleCloudVisionV1p3beta1CropHint: Single crop hint that is used to 5851 // generate a new crop when serving an image. 5852 type GoogleCloudVisionV1p3beta1CropHint struct { 5853 // BoundingPoly: The bounding polygon for the crop region. The coordinates of 5854 // the bounding box are in the original image's scale. 5855 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 5856 // Confidence: Confidence of this being a salient region. Range [0, 1]. 5857 Confidence float64 `json:"confidence,omitempty"` 5858 // ImportanceFraction: Fraction of importance of this salient region with 5859 // respect to the original image. 5860 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 5861 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 5862 // unconditionally include in API requests. By default, fields with empty or 5863 // default values are omitted from API requests. See 5864 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5865 // details. 5866 ForceSendFields []string `json:"-"` 5867 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 5868 // requests with the JSON null value. By default, fields with empty values are 5869 // omitted from API requests. See 5870 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5871 NullFields []string `json:"-"` 5872 } 5873 5874 func (s *GoogleCloudVisionV1p3beta1CropHint) MarshalJSON() ([]byte, error) { 5875 type NoMethod GoogleCloudVisionV1p3beta1CropHint 5876 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5877 } 5878 5879 func (s *GoogleCloudVisionV1p3beta1CropHint) UnmarshalJSON(data []byte) error { 5880 type NoMethod GoogleCloudVisionV1p3beta1CropHint 5881 var s1 struct { 5882 Confidence gensupport.JSONFloat64 `json:"confidence"` 5883 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 5884 *NoMethod 5885 } 5886 s1.NoMethod = (*NoMethod)(s) 5887 if err := json.Unmarshal(data, &s1); err != nil { 5888 return err 5889 } 5890 s.Confidence = float64(s1.Confidence) 5891 s.ImportanceFraction = float64(s1.ImportanceFraction) 5892 return nil 5893 } 5894 5895 // GoogleCloudVisionV1p3beta1CropHintsAnnotation: Set of crop hints that are 5896 // used to generate new crops when serving images. 5897 type GoogleCloudVisionV1p3beta1CropHintsAnnotation struct { 5898 // CropHints: Crop hint results. 5899 CropHints []*GoogleCloudVisionV1p3beta1CropHint `json:"cropHints,omitempty"` 5900 // ForceSendFields is a list of field names (e.g. "CropHints") to 5901 // unconditionally include in API requests. By default, fields with empty or 5902 // default values are omitted from API requests. See 5903 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5904 // details. 5905 ForceSendFields []string `json:"-"` 5906 // NullFields is a list of field names (e.g. "CropHints") to include in API 5907 // requests with the JSON null value. By default, fields with empty values are 5908 // omitted from API requests. See 5909 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5910 NullFields []string `json:"-"` 5911 } 5912 5913 func (s *GoogleCloudVisionV1p3beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 5914 type NoMethod GoogleCloudVisionV1p3beta1CropHintsAnnotation 5915 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5916 } 5917 5918 // GoogleCloudVisionV1p3beta1DominantColorsAnnotation: Set of dominant colors 5919 // and their corresponding scores. 5920 type GoogleCloudVisionV1p3beta1DominantColorsAnnotation struct { 5921 // Colors: RGB color values with their score and pixel fraction. 5922 Colors []*GoogleCloudVisionV1p3beta1ColorInfo `json:"colors,omitempty"` 5923 // ForceSendFields is a list of field names (e.g. "Colors") to unconditionally 5924 // include in API requests. By default, fields with empty or default values are 5925 // omitted from API requests. See 5926 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5927 // details. 5928 ForceSendFields []string `json:"-"` 5929 // NullFields is a list of field names (e.g. "Colors") to include in API 5930 // requests with the JSON null value. By default, fields with empty values are 5931 // omitted from API requests. See 5932 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5933 NullFields []string `json:"-"` 5934 } 5935 5936 func (s *GoogleCloudVisionV1p3beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 5937 type NoMethod GoogleCloudVisionV1p3beta1DominantColorsAnnotation 5938 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5939 } 5940 5941 // GoogleCloudVisionV1p3beta1EntityAnnotation: Set of detected entity features. 5942 type GoogleCloudVisionV1p3beta1EntityAnnotation struct { 5943 // BoundingPoly: Image region to which this entity belongs. Not produced for 5944 // `LABEL_DETECTION` features. 5945 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 5946 // Confidence: **Deprecated. Use `score` instead.** The accuracy of the entity 5947 // detection in an image. For example, for an image in which the "Eiffel Tower" 5948 // entity is detected, this field represents the confidence that there is a 5949 // tower in the query image. Range [0, 1]. 5950 Confidence float64 `json:"confidence,omitempty"` 5951 // Description: Entity textual description, expressed in its `locale` language. 5952 Description string `json:"description,omitempty"` 5953 // Locale: The language code for the locale in which the entity textual 5954 // `description` is expressed. 5955 Locale string `json:"locale,omitempty"` 5956 // Locations: The location information for the detected entity. Multiple 5957 // `LocationInfo` elements can be present because one location may indicate the 5958 // location of the scene in the image, and another location may indicate the 5959 // location of the place where the image was taken. Location information is 5960 // usually present for landmarks. 5961 Locations []*GoogleCloudVisionV1p3beta1LocationInfo `json:"locations,omitempty"` 5962 // Mid: Opaque entity ID. Some IDs may be available in Google Knowledge Graph 5963 // Search API (https://developers.google.com/knowledge-graph/). 5964 Mid string `json:"mid,omitempty"` 5965 // Properties: Some entities may have optional user-supplied `Property` 5966 // (name/value) fields, such a score or string that qualifies the entity. 5967 Properties []*GoogleCloudVisionV1p3beta1Property `json:"properties,omitempty"` 5968 // Score: Overall score of the result. Range [0, 1]. 5969 Score float64 `json:"score,omitempty"` 5970 // Topicality: The relevancy of the ICA (Image Content Annotation) label to the 5971 // image. For example, the relevancy of "tower" is likely higher to an image 5972 // containing the detected "Eiffel Tower" than to an image containing a 5973 // detected distant towering building, even though the confidence that there is 5974 // a tower in each image may be the same. Range [0, 1]. 5975 Topicality float64 `json:"topicality,omitempty"` 5976 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 5977 // unconditionally include in API requests. By default, fields with empty or 5978 // default values are omitted from API requests. See 5979 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 5980 // details. 5981 ForceSendFields []string `json:"-"` 5982 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 5983 // requests with the JSON null value. By default, fields with empty values are 5984 // omitted from API requests. See 5985 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 5986 NullFields []string `json:"-"` 5987 } 5988 5989 func (s *GoogleCloudVisionV1p3beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 5990 type NoMethod GoogleCloudVisionV1p3beta1EntityAnnotation 5991 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 5992 } 5993 5994 func (s *GoogleCloudVisionV1p3beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 5995 type NoMethod GoogleCloudVisionV1p3beta1EntityAnnotation 5996 var s1 struct { 5997 Confidence gensupport.JSONFloat64 `json:"confidence"` 5998 Score gensupport.JSONFloat64 `json:"score"` 5999 Topicality gensupport.JSONFloat64 `json:"topicality"` 6000 *NoMethod 6001 } 6002 s1.NoMethod = (*NoMethod)(s) 6003 if err := json.Unmarshal(data, &s1); err != nil { 6004 return err 6005 } 6006 s.Confidence = float64(s1.Confidence) 6007 s.Score = float64(s1.Score) 6008 s.Topicality = float64(s1.Topicality) 6009 return nil 6010 } 6011 6012 // GoogleCloudVisionV1p3beta1FaceAnnotation: A face annotation object contains 6013 // the results of face detection. 6014 type GoogleCloudVisionV1p3beta1FaceAnnotation struct { 6015 // AngerLikelihood: Anger likelihood. 6016 // 6017 // Possible values: 6018 // "UNKNOWN" - Unknown likelihood. 6019 // "VERY_UNLIKELY" - It is very unlikely. 6020 // "UNLIKELY" - It is unlikely. 6021 // "POSSIBLE" - It is possible. 6022 // "LIKELY" - It is likely. 6023 // "VERY_LIKELY" - It is very likely. 6024 AngerLikelihood string `json:"angerLikelihood,omitempty"` 6025 // BlurredLikelihood: Blurred likelihood. 6026 // 6027 // Possible values: 6028 // "UNKNOWN" - Unknown likelihood. 6029 // "VERY_UNLIKELY" - It is very unlikely. 6030 // "UNLIKELY" - It is unlikely. 6031 // "POSSIBLE" - It is possible. 6032 // "LIKELY" - It is likely. 6033 // "VERY_LIKELY" - It is very likely. 6034 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 6035 // BoundingPoly: The bounding polygon around the face. The coordinates of the 6036 // bounding box are in the original image's scale. The bounding box is computed 6037 // to "frame" the face in accordance with human expectations. It is based on 6038 // the landmarker results. Note that one or more x and/or y coordinates may not 6039 // be generated in the `BoundingPoly` (the polygon will be unbounded) if only a 6040 // partial face appears in the image to be annotated. 6041 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 6042 // DetectionConfidence: Detection confidence. Range [0, 1]. 6043 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 6044 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter than the 6045 // `boundingPoly`, and encloses only the skin part of the face. Typically, it 6046 // is used to eliminate the face from any image analysis that detects the 6047 // "amount of skin" visible in an image. It is not based on the landmarker 6048 // results, only on the initial face detection, hence the fd (face detection) 6049 // prefix. 6050 FdBoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 6051 // HeadwearLikelihood: Headwear likelihood. 6052 // 6053 // Possible values: 6054 // "UNKNOWN" - Unknown likelihood. 6055 // "VERY_UNLIKELY" - It is very unlikely. 6056 // "UNLIKELY" - It is unlikely. 6057 // "POSSIBLE" - It is possible. 6058 // "LIKELY" - It is likely. 6059 // "VERY_LIKELY" - It is very likely. 6060 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 6061 // JoyLikelihood: Joy likelihood. 6062 // 6063 // Possible values: 6064 // "UNKNOWN" - Unknown likelihood. 6065 // "VERY_UNLIKELY" - It is very unlikely. 6066 // "UNLIKELY" - It is unlikely. 6067 // "POSSIBLE" - It is possible. 6068 // "LIKELY" - It is likely. 6069 // "VERY_LIKELY" - It is very likely. 6070 JoyLikelihood string `json:"joyLikelihood,omitempty"` 6071 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 6072 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 6073 // Landmarks: Detected face landmarks. 6074 Landmarks []*GoogleCloudVisionV1p3beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 6075 // PanAngle: Yaw angle, which indicates the leftward/rightward angle that the 6076 // face is pointing relative to the vertical plane perpendicular to the image. 6077 // Range [-180,180]. 6078 PanAngle float64 `json:"panAngle,omitempty"` 6079 // RollAngle: Roll angle, which indicates the amount of 6080 // clockwise/anti-clockwise rotation of the face relative to the image vertical 6081 // about the axis perpendicular to the face. Range [-180,180]. 6082 RollAngle float64 `json:"rollAngle,omitempty"` 6083 // SorrowLikelihood: Sorrow likelihood. 6084 // 6085 // Possible values: 6086 // "UNKNOWN" - Unknown likelihood. 6087 // "VERY_UNLIKELY" - It is very unlikely. 6088 // "UNLIKELY" - It is unlikely. 6089 // "POSSIBLE" - It is possible. 6090 // "LIKELY" - It is likely. 6091 // "VERY_LIKELY" - It is very likely. 6092 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 6093 // SurpriseLikelihood: Surprise likelihood. 6094 // 6095 // Possible values: 6096 // "UNKNOWN" - Unknown likelihood. 6097 // "VERY_UNLIKELY" - It is very unlikely. 6098 // "UNLIKELY" - It is unlikely. 6099 // "POSSIBLE" - It is possible. 6100 // "LIKELY" - It is likely. 6101 // "VERY_LIKELY" - It is very likely. 6102 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 6103 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle that the 6104 // face is pointing relative to the image's horizontal plane. Range [-180,180]. 6105 TiltAngle float64 `json:"tiltAngle,omitempty"` 6106 // UnderExposedLikelihood: Under-exposed likelihood. 6107 // 6108 // Possible values: 6109 // "UNKNOWN" - Unknown likelihood. 6110 // "VERY_UNLIKELY" - It is very unlikely. 6111 // "UNLIKELY" - It is unlikely. 6112 // "POSSIBLE" - It is possible. 6113 // "LIKELY" - It is likely. 6114 // "VERY_LIKELY" - It is very likely. 6115 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 6116 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 6117 // unconditionally include in API requests. By default, fields with empty or 6118 // default values are omitted from API requests. See 6119 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6120 // details. 6121 ForceSendFields []string `json:"-"` 6122 // NullFields is a list of field names (e.g. "AngerLikelihood") to include in 6123 // API requests with the JSON null value. By default, fields with empty values 6124 // are omitted from API requests. See 6125 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6126 NullFields []string `json:"-"` 6127 } 6128 6129 func (s *GoogleCloudVisionV1p3beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 6130 type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotation 6131 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6132 } 6133 6134 func (s *GoogleCloudVisionV1p3beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 6135 type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotation 6136 var s1 struct { 6137 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 6138 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 6139 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 6140 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 6141 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 6142 *NoMethod 6143 } 6144 s1.NoMethod = (*NoMethod)(s) 6145 if err := json.Unmarshal(data, &s1); err != nil { 6146 return err 6147 } 6148 s.DetectionConfidence = float64(s1.DetectionConfidence) 6149 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 6150 s.PanAngle = float64(s1.PanAngle) 6151 s.RollAngle = float64(s1.RollAngle) 6152 s.TiltAngle = float64(s1.TiltAngle) 6153 return nil 6154 } 6155 6156 // GoogleCloudVisionV1p3beta1FaceAnnotationLandmark: A face-specific landmark 6157 // (for example, a face feature). 6158 type GoogleCloudVisionV1p3beta1FaceAnnotationLandmark struct { 6159 // Position: Face landmark position. 6160 Position *GoogleCloudVisionV1p3beta1Position `json:"position,omitempty"` 6161 // Type: Face landmark type. 6162 // 6163 // Possible values: 6164 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be filled. 6165 // "LEFT_EYE" - Left eye. 6166 // "RIGHT_EYE" - Right eye. 6167 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 6168 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 6169 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 6170 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 6171 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 6172 // "NOSE_TIP" - Nose tip. 6173 // "UPPER_LIP" - Upper lip. 6174 // "LOWER_LIP" - Lower lip. 6175 // "MOUTH_LEFT" - Mouth left. 6176 // "MOUTH_RIGHT" - Mouth right. 6177 // "MOUTH_CENTER" - Mouth center. 6178 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 6179 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 6180 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 6181 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 6182 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 6183 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 6184 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 6185 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 6186 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 6187 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 6188 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 6189 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 6190 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 6191 // "LEFT_EAR_TRAGION" - Left ear tragion. 6192 // "RIGHT_EAR_TRAGION" - Right ear tragion. 6193 // "LEFT_EYE_PUPIL" - Left eye pupil. 6194 // "RIGHT_EYE_PUPIL" - Right eye pupil. 6195 // "FOREHEAD_GLABELLA" - Forehead glabella. 6196 // "CHIN_GNATHION" - Chin gnathion. 6197 // "CHIN_LEFT_GONION" - Chin left gonion. 6198 // "CHIN_RIGHT_GONION" - Chin right gonion. 6199 // "LEFT_CHEEK_CENTER" - Left cheek center. 6200 // "RIGHT_CHEEK_CENTER" - Right cheek center. 6201 Type string `json:"type,omitempty"` 6202 // ForceSendFields is a list of field names (e.g. "Position") to 6203 // unconditionally include in API requests. By default, fields with empty or 6204 // default values are omitted from API requests. See 6205 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6206 // details. 6207 ForceSendFields []string `json:"-"` 6208 // NullFields is a list of field names (e.g. "Position") to include in API 6209 // requests with the JSON null value. By default, fields with empty values are 6210 // omitted from API requests. See 6211 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6212 NullFields []string `json:"-"` 6213 } 6214 6215 func (s *GoogleCloudVisionV1p3beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 6216 type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotationLandmark 6217 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6218 } 6219 6220 // GoogleCloudVisionV1p3beta1GcsDestination: The Google Cloud Storage location 6221 // where the output will be written to. 6222 type GoogleCloudVisionV1p3beta1GcsDestination struct { 6223 // Uri: Google Cloud Storage URI prefix where the results will be stored. 6224 // Results will be in JSON format and preceded by its corresponding input URI 6225 // prefix. This field can either represent a gcs file prefix or gcs directory. 6226 // In either case, the uri should be unique because in order to get all of the 6227 // output files, you will need to do a wildcard gcs search on the uri prefix 6228 // you provide. Examples: * File Prefix: gs://bucket-name/here/filenameprefix 6229 // The output files will be created in gs://bucket-name/here/ and the names of 6230 // the output files will begin with "filenameprefix". * Directory Prefix: 6231 // gs://bucket-name/some/location/ The output files will be created in 6232 // gs://bucket-name/some/location/ and the names of the output files could be 6233 // anything because there was no filename prefix specified. If multiple 6234 // outputs, each response is still AnnotateFileResponse, each of which contains 6235 // some subset of the full list of AnnotateImageResponse. Multiple outputs can 6236 // happen if, for example, the output JSON is too large and overflows into 6237 // multiple sharded files. 6238 Uri string `json:"uri,omitempty"` 6239 // ForceSendFields is a list of field names (e.g. "Uri") to unconditionally 6240 // include in API requests. By default, fields with empty or default values are 6241 // omitted from API requests. See 6242 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6243 // details. 6244 ForceSendFields []string `json:"-"` 6245 // NullFields is a list of field names (e.g. "Uri") to include in API requests 6246 // with the JSON null value. By default, fields with empty values are omitted 6247 // from API requests. See 6248 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6249 NullFields []string `json:"-"` 6250 } 6251 6252 func (s *GoogleCloudVisionV1p3beta1GcsDestination) MarshalJSON() ([]byte, error) { 6253 type NoMethod GoogleCloudVisionV1p3beta1GcsDestination 6254 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6255 } 6256 6257 // GoogleCloudVisionV1p3beta1GcsSource: The Google Cloud Storage location where 6258 // the input will be read from. 6259 type GoogleCloudVisionV1p3beta1GcsSource struct { 6260 // Uri: Google Cloud Storage URI for the input file. This must only be a Google 6261 // Cloud Storage object. Wildcards are not currently supported. 6262 Uri string `json:"uri,omitempty"` 6263 // ForceSendFields is a list of field names (e.g. "Uri") to unconditionally 6264 // include in API requests. By default, fields with empty or default values are 6265 // omitted from API requests. See 6266 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6267 // details. 6268 ForceSendFields []string `json:"-"` 6269 // NullFields is a list of field names (e.g. "Uri") to include in API requests 6270 // with the JSON null value. By default, fields with empty values are omitted 6271 // from API requests. See 6272 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6273 NullFields []string `json:"-"` 6274 } 6275 6276 func (s *GoogleCloudVisionV1p3beta1GcsSource) MarshalJSON() ([]byte, error) { 6277 type NoMethod GoogleCloudVisionV1p3beta1GcsSource 6278 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6279 } 6280 6281 // GoogleCloudVisionV1p3beta1ImageAnnotationContext: If an image was produced 6282 // from a file (e.g. a PDF), this message gives information about the source of 6283 // that image. 6284 type GoogleCloudVisionV1p3beta1ImageAnnotationContext struct { 6285 // PageNumber: If the file was a PDF or TIFF, this field gives the page number 6286 // within the file used to produce the image. 6287 PageNumber int64 `json:"pageNumber,omitempty"` 6288 // Uri: The URI of the file used to produce the image. 6289 Uri string `json:"uri,omitempty"` 6290 // ForceSendFields is a list of field names (e.g. "PageNumber") to 6291 // unconditionally include in API requests. By default, fields with empty or 6292 // default values are omitted from API requests. See 6293 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6294 // details. 6295 ForceSendFields []string `json:"-"` 6296 // NullFields is a list of field names (e.g. "PageNumber") to include in API 6297 // requests with the JSON null value. By default, fields with empty values are 6298 // omitted from API requests. See 6299 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6300 NullFields []string `json:"-"` 6301 } 6302 6303 func (s *GoogleCloudVisionV1p3beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 6304 type NoMethod GoogleCloudVisionV1p3beta1ImageAnnotationContext 6305 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6306 } 6307 6308 // GoogleCloudVisionV1p3beta1ImageProperties: Stores image properties, such as 6309 // dominant colors. 6310 type GoogleCloudVisionV1p3beta1ImageProperties struct { 6311 // DominantColors: If present, dominant colors completed successfully. 6312 DominantColors *GoogleCloudVisionV1p3beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 6313 // ForceSendFields is a list of field names (e.g. "DominantColors") to 6314 // unconditionally include in API requests. By default, fields with empty or 6315 // default values are omitted from API requests. See 6316 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6317 // details. 6318 ForceSendFields []string `json:"-"` 6319 // NullFields is a list of field names (e.g. "DominantColors") to include in 6320 // API requests with the JSON null value. By default, fields with empty values 6321 // are omitted from API requests. See 6322 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6323 NullFields []string `json:"-"` 6324 } 6325 6326 func (s *GoogleCloudVisionV1p3beta1ImageProperties) MarshalJSON() ([]byte, error) { 6327 type NoMethod GoogleCloudVisionV1p3beta1ImageProperties 6328 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6329 } 6330 6331 // GoogleCloudVisionV1p3beta1ImportProductSetsResponse: Response message for 6332 // the `ImportProductSets` method. This message is returned by the 6333 // google.longrunning.Operations.GetOperation method in the returned 6334 // google.longrunning.Operation.response field. 6335 type GoogleCloudVisionV1p3beta1ImportProductSetsResponse struct { 6336 // ReferenceImages: The list of reference_images that are imported 6337 // successfully. 6338 ReferenceImages []*GoogleCloudVisionV1p3beta1ReferenceImage `json:"referenceImages,omitempty"` 6339 // Statuses: The rpc status for each ImportProductSet request, including both 6340 // successes and errors. The number of statuses here matches the number of 6341 // lines in the csv file, and statuses[i] stores the success or failure status 6342 // of processing the i-th line of the csv, starting from line 0. 6343 Statuses []*Status `json:"statuses,omitempty"` 6344 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 6345 // unconditionally include in API requests. By default, fields with empty or 6346 // default values are omitted from API requests. See 6347 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6348 // details. 6349 ForceSendFields []string `json:"-"` 6350 // NullFields is a list of field names (e.g. "ReferenceImages") to include in 6351 // API requests with the JSON null value. By default, fields with empty values 6352 // are omitted from API requests. See 6353 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6354 NullFields []string `json:"-"` 6355 } 6356 6357 func (s *GoogleCloudVisionV1p3beta1ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 6358 type NoMethod GoogleCloudVisionV1p3beta1ImportProductSetsResponse 6359 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6360 } 6361 6362 // GoogleCloudVisionV1p3beta1InputConfig: The desired input location and 6363 // metadata. 6364 type GoogleCloudVisionV1p3beta1InputConfig struct { 6365 // Content: File content, represented as a stream of bytes. Note: As with all 6366 // `bytes` fields, protobuffers use a pure binary representation, whereas JSON 6367 // representations use base64. Currently, this field only works for 6368 // BatchAnnotateFiles requests. It does not work for AsyncBatchAnnotateFiles 6369 // requests. 6370 Content string `json:"content,omitempty"` 6371 // GcsSource: The Google Cloud Storage location to read the input from. 6372 GcsSource *GoogleCloudVisionV1p3beta1GcsSource `json:"gcsSource,omitempty"` 6373 // MimeType: The type of the file. Currently only "application/pdf", 6374 // "image/tiff" and "image/gif" are supported. Wildcards are not supported. 6375 MimeType string `json:"mimeType,omitempty"` 6376 // ForceSendFields is a list of field names (e.g. "Content") to unconditionally 6377 // include in API requests. By default, fields with empty or default values are 6378 // omitted from API requests. See 6379 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6380 // details. 6381 ForceSendFields []string `json:"-"` 6382 // NullFields is a list of field names (e.g. "Content") to include in API 6383 // requests with the JSON null value. By default, fields with empty values are 6384 // omitted from API requests. See 6385 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6386 NullFields []string `json:"-"` 6387 } 6388 6389 func (s *GoogleCloudVisionV1p3beta1InputConfig) MarshalJSON() ([]byte, error) { 6390 type NoMethod GoogleCloudVisionV1p3beta1InputConfig 6391 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6392 } 6393 6394 // GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation: Set of detected objects 6395 // with bounding boxes. 6396 type GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation struct { 6397 // BoundingPoly: Image region to which this object belongs. This must be 6398 // populated. 6399 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 6400 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For 6401 // more information, see 6402 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 6403 LanguageCode string `json:"languageCode,omitempty"` 6404 // Mid: Object ID that should align with EntityAnnotation mid. 6405 Mid string `json:"mid,omitempty"` 6406 // Name: Object name, expressed in its `language_code` language. 6407 Name string `json:"name,omitempty"` 6408 // Score: Score of the result. Range [0, 1]. 6409 Score float64 `json:"score,omitempty"` 6410 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 6411 // unconditionally include in API requests. By default, fields with empty or 6412 // default values are omitted from API requests. See 6413 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6414 // details. 6415 ForceSendFields []string `json:"-"` 6416 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 6417 // requests with the JSON null value. By default, fields with empty values are 6418 // omitted from API requests. See 6419 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6420 NullFields []string `json:"-"` 6421 } 6422 6423 func (s *GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 6424 type NoMethod GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation 6425 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6426 } 6427 6428 func (s *GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 6429 type NoMethod GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation 6430 var s1 struct { 6431 Score gensupport.JSONFloat64 `json:"score"` 6432 *NoMethod 6433 } 6434 s1.NoMethod = (*NoMethod)(s) 6435 if err := json.Unmarshal(data, &s1); err != nil { 6436 return err 6437 } 6438 s.Score = float64(s1.Score) 6439 return nil 6440 } 6441 6442 // GoogleCloudVisionV1p3beta1LocationInfo: Detected entity location 6443 // information. 6444 type GoogleCloudVisionV1p3beta1LocationInfo struct { 6445 // LatLng: lat/long location coordinates. 6446 LatLng *LatLng `json:"latLng,omitempty"` 6447 // ForceSendFields is a list of field names (e.g. "LatLng") to unconditionally 6448 // include in API requests. By default, fields with empty or default values are 6449 // omitted from API requests. See 6450 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6451 // details. 6452 ForceSendFields []string `json:"-"` 6453 // NullFields is a list of field names (e.g. "LatLng") to include in API 6454 // requests with the JSON null value. By default, fields with empty values are 6455 // omitted from API requests. See 6456 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6457 NullFields []string `json:"-"` 6458 } 6459 6460 func (s *GoogleCloudVisionV1p3beta1LocationInfo) MarshalJSON() ([]byte, error) { 6461 type NoMethod GoogleCloudVisionV1p3beta1LocationInfo 6462 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6463 } 6464 6465 // GoogleCloudVisionV1p3beta1NormalizedVertex: A vertex represents a 2D point 6466 // in the image. NOTE: the normalized vertex coordinates are relative to the 6467 // original image and range from 0 to 1. 6468 type GoogleCloudVisionV1p3beta1NormalizedVertex struct { 6469 // X: X coordinate. 6470 X float64 `json:"x,omitempty"` 6471 // Y: Y coordinate. 6472 Y float64 `json:"y,omitempty"` 6473 // ForceSendFields is a list of field names (e.g. "X") to unconditionally 6474 // include in API requests. By default, fields with empty or default values are 6475 // omitted from API requests. See 6476 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6477 // details. 6478 ForceSendFields []string `json:"-"` 6479 // NullFields is a list of field names (e.g. "X") to include in API requests 6480 // with the JSON null value. By default, fields with empty values are omitted 6481 // from API requests. See 6482 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6483 NullFields []string `json:"-"` 6484 } 6485 6486 func (s *GoogleCloudVisionV1p3beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 6487 type NoMethod GoogleCloudVisionV1p3beta1NormalizedVertex 6488 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6489 } 6490 6491 func (s *GoogleCloudVisionV1p3beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 6492 type NoMethod GoogleCloudVisionV1p3beta1NormalizedVertex 6493 var s1 struct { 6494 X gensupport.JSONFloat64 `json:"x"` 6495 Y gensupport.JSONFloat64 `json:"y"` 6496 *NoMethod 6497 } 6498 s1.NoMethod = (*NoMethod)(s) 6499 if err := json.Unmarshal(data, &s1); err != nil { 6500 return err 6501 } 6502 s.X = float64(s1.X) 6503 s.Y = float64(s1.Y) 6504 return nil 6505 } 6506 6507 // GoogleCloudVisionV1p3beta1OperationMetadata: Contains metadata for the 6508 // BatchAnnotateImages operation. 6509 type GoogleCloudVisionV1p3beta1OperationMetadata struct { 6510 // CreateTime: The time when the batch request was received. 6511 CreateTime string `json:"createTime,omitempty"` 6512 // State: Current state of the batch operation. 6513 // 6514 // Possible values: 6515 // "STATE_UNSPECIFIED" - Invalid. 6516 // "CREATED" - Request is received. 6517 // "RUNNING" - Request is actively being processed. 6518 // "DONE" - The batch processing is done. 6519 // "CANCELLED" - The batch processing was cancelled. 6520 State string `json:"state,omitempty"` 6521 // UpdateTime: The time when the operation result was last updated. 6522 UpdateTime string `json:"updateTime,omitempty"` 6523 // ForceSendFields is a list of field names (e.g. "CreateTime") to 6524 // unconditionally include in API requests. By default, fields with empty or 6525 // default values are omitted from API requests. See 6526 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6527 // details. 6528 ForceSendFields []string `json:"-"` 6529 // NullFields is a list of field names (e.g. "CreateTime") to include in API 6530 // requests with the JSON null value. By default, fields with empty values are 6531 // omitted from API requests. See 6532 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6533 NullFields []string `json:"-"` 6534 } 6535 6536 func (s *GoogleCloudVisionV1p3beta1OperationMetadata) MarshalJSON() ([]byte, error) { 6537 type NoMethod GoogleCloudVisionV1p3beta1OperationMetadata 6538 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6539 } 6540 6541 // GoogleCloudVisionV1p3beta1OutputConfig: The desired output location and 6542 // metadata. 6543 type GoogleCloudVisionV1p3beta1OutputConfig struct { 6544 // BatchSize: The max number of response protos to put into each output JSON 6545 // file on Google Cloud Storage. The valid range is [1, 100]. If not specified, 6546 // the default value is 20. For example, for one pdf file with 100 pages, 100 6547 // response protos will be generated. If `batch_size` = 20, then 5 json files 6548 // each containing 20 response protos will be written under the prefix 6549 // `gcs_destination`.`uri`. Currently, batch_size only applies to 6550 // GcsDestination, with potential future support for other output 6551 // configurations. 6552 BatchSize int64 `json:"batchSize,omitempty"` 6553 // GcsDestination: The Google Cloud Storage location to write the output(s) to. 6554 GcsDestination *GoogleCloudVisionV1p3beta1GcsDestination `json:"gcsDestination,omitempty"` 6555 // ForceSendFields is a list of field names (e.g. "BatchSize") to 6556 // unconditionally include in API requests. By default, fields with empty or 6557 // default values are omitted from API requests. See 6558 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6559 // details. 6560 ForceSendFields []string `json:"-"` 6561 // NullFields is a list of field names (e.g. "BatchSize") to include in API 6562 // requests with the JSON null value. By default, fields with empty values are 6563 // omitted from API requests. See 6564 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6565 NullFields []string `json:"-"` 6566 } 6567 6568 func (s *GoogleCloudVisionV1p3beta1OutputConfig) MarshalJSON() ([]byte, error) { 6569 type NoMethod GoogleCloudVisionV1p3beta1OutputConfig 6570 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6571 } 6572 6573 // GoogleCloudVisionV1p3beta1Page: Detected page from OCR. 6574 type GoogleCloudVisionV1p3beta1Page struct { 6575 // Blocks: List of blocks of text, images etc on this page. 6576 Blocks []*GoogleCloudVisionV1p3beta1Block `json:"blocks,omitempty"` 6577 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 6578 Confidence float64 `json:"confidence,omitempty"` 6579 // Height: Page height. For PDFs the unit is points. For images (including 6580 // TIFFs) the unit is pixels. 6581 Height int64 `json:"height,omitempty"` 6582 // Property: Additional information detected on the page. 6583 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 6584 // Width: Page width. For PDFs the unit is points. For images (including TIFFs) 6585 // the unit is pixels. 6586 Width int64 `json:"width,omitempty"` 6587 // ForceSendFields is a list of field names (e.g. "Blocks") to unconditionally 6588 // include in API requests. By default, fields with empty or default values are 6589 // omitted from API requests. See 6590 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6591 // details. 6592 ForceSendFields []string `json:"-"` 6593 // NullFields is a list of field names (e.g. "Blocks") to include in API 6594 // requests with the JSON null value. By default, fields with empty values are 6595 // omitted from API requests. See 6596 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6597 NullFields []string `json:"-"` 6598 } 6599 6600 func (s *GoogleCloudVisionV1p3beta1Page) MarshalJSON() ([]byte, error) { 6601 type NoMethod GoogleCloudVisionV1p3beta1Page 6602 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6603 } 6604 6605 func (s *GoogleCloudVisionV1p3beta1Page) UnmarshalJSON(data []byte) error { 6606 type NoMethod GoogleCloudVisionV1p3beta1Page 6607 var s1 struct { 6608 Confidence gensupport.JSONFloat64 `json:"confidence"` 6609 *NoMethod 6610 } 6611 s1.NoMethod = (*NoMethod)(s) 6612 if err := json.Unmarshal(data, &s1); err != nil { 6613 return err 6614 } 6615 s.Confidence = float64(s1.Confidence) 6616 return nil 6617 } 6618 6619 // GoogleCloudVisionV1p3beta1Paragraph: Structural unit of text representing a 6620 // number of words in certain order. 6621 type GoogleCloudVisionV1p3beta1Paragraph struct { 6622 // BoundingBox: The bounding box for the paragraph. The vertices are in the 6623 // order of top-left, top-right, bottom-right, bottom-left. When a rotation of 6624 // the bounding box is detected the rotation is represented as around the 6625 // top-left corner as defined when the text is read in the 'natural' 6626 // orientation. For example: * when the text is horizontal it might look like: 6627 // 0----1 | | 3----2 * when it's rotated 180 degrees around the top-left corner 6628 // it becomes: 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 6629 // 3). 6630 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 6631 // Confidence: Confidence of the OCR results for the paragraph. Range [0, 1]. 6632 Confidence float64 `json:"confidence,omitempty"` 6633 // Property: Additional information detected for the paragraph. 6634 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 6635 // Words: List of all words in this paragraph. 6636 Words []*GoogleCloudVisionV1p3beta1Word `json:"words,omitempty"` 6637 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 6638 // unconditionally include in API requests. By default, fields with empty or 6639 // default values are omitted from API requests. See 6640 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6641 // details. 6642 ForceSendFields []string `json:"-"` 6643 // NullFields is a list of field names (e.g. "BoundingBox") to include in API 6644 // requests with the JSON null value. By default, fields with empty values are 6645 // omitted from API requests. See 6646 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6647 NullFields []string `json:"-"` 6648 } 6649 6650 func (s *GoogleCloudVisionV1p3beta1Paragraph) MarshalJSON() ([]byte, error) { 6651 type NoMethod GoogleCloudVisionV1p3beta1Paragraph 6652 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6653 } 6654 6655 func (s *GoogleCloudVisionV1p3beta1Paragraph) UnmarshalJSON(data []byte) error { 6656 type NoMethod GoogleCloudVisionV1p3beta1Paragraph 6657 var s1 struct { 6658 Confidence gensupport.JSONFloat64 `json:"confidence"` 6659 *NoMethod 6660 } 6661 s1.NoMethod = (*NoMethod)(s) 6662 if err := json.Unmarshal(data, &s1); err != nil { 6663 return err 6664 } 6665 s.Confidence = float64(s1.Confidence) 6666 return nil 6667 } 6668 6669 // GoogleCloudVisionV1p3beta1Position: A 3D position in the image, used 6670 // primarily for Face detection landmarks. A valid Position must have both x 6671 // and y coordinates. The position coordinates are in the same scale as the 6672 // original image. 6673 type GoogleCloudVisionV1p3beta1Position struct { 6674 // X: X coordinate. 6675 X float64 `json:"x,omitempty"` 6676 // Y: Y coordinate. 6677 Y float64 `json:"y,omitempty"` 6678 // Z: Z coordinate (or depth). 6679 Z float64 `json:"z,omitempty"` 6680 // ForceSendFields is a list of field names (e.g. "X") to unconditionally 6681 // include in API requests. By default, fields with empty or default values are 6682 // omitted from API requests. See 6683 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6684 // details. 6685 ForceSendFields []string `json:"-"` 6686 // NullFields is a list of field names (e.g. "X") to include in API requests 6687 // with the JSON null value. By default, fields with empty values are omitted 6688 // from API requests. See 6689 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6690 NullFields []string `json:"-"` 6691 } 6692 6693 func (s *GoogleCloudVisionV1p3beta1Position) MarshalJSON() ([]byte, error) { 6694 type NoMethod GoogleCloudVisionV1p3beta1Position 6695 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6696 } 6697 6698 func (s *GoogleCloudVisionV1p3beta1Position) UnmarshalJSON(data []byte) error { 6699 type NoMethod GoogleCloudVisionV1p3beta1Position 6700 var s1 struct { 6701 X gensupport.JSONFloat64 `json:"x"` 6702 Y gensupport.JSONFloat64 `json:"y"` 6703 Z gensupport.JSONFloat64 `json:"z"` 6704 *NoMethod 6705 } 6706 s1.NoMethod = (*NoMethod)(s) 6707 if err := json.Unmarshal(data, &s1); err != nil { 6708 return err 6709 } 6710 s.X = float64(s1.X) 6711 s.Y = float64(s1.Y) 6712 s.Z = float64(s1.Z) 6713 return nil 6714 } 6715 6716 // GoogleCloudVisionV1p3beta1Product: A Product contains ReferenceImages. 6717 type GoogleCloudVisionV1p3beta1Product struct { 6718 // Description: User-provided metadata to be stored with this product. Must be 6719 // at most 4096 characters long. 6720 Description string `json:"description,omitempty"` 6721 // DisplayName: The user-provided name for this Product. Must not be empty. 6722 // Must be at most 4096 characters long. 6723 DisplayName string `json:"displayName,omitempty"` 6724 // Name: The resource name of the product. Format is: 6725 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is 6726 // ignored when creating a product. 6727 Name string `json:"name,omitempty"` 6728 // ProductCategory: Immutable. The category for the product identified by the 6729 // reference image. This should be one of "homegoods-v2", "apparel-v2", 6730 // "toys-v2", "packagedgoods-v1" or "general-v1". The legacy categories 6731 // "homegoods", "apparel", and "toys" are still supported, but these should not 6732 // be used for new products. 6733 ProductCategory string `json:"productCategory,omitempty"` 6734 // ProductLabels: Key-value pairs that can be attached to a product. At query 6735 // time, constraints can be specified based on the product_labels. Note that 6736 // integer values can be provided as strings, e.g. "1199". Only strings with 6737 // integer values can match a range-based restriction which is to be supported 6738 // soon. Multiple values can be assigned to the same key. One product may have 6739 // up to 500 product_labels. Notice that the total number of distinct 6740 // product_labels over all products in one ProductSet cannot exceed 1M, 6741 // otherwise the product search pipeline will refuse to work for that 6742 // ProductSet. 6743 ProductLabels []*GoogleCloudVisionV1p3beta1ProductKeyValue `json:"productLabels,omitempty"` 6744 // ForceSendFields is a list of field names (e.g. "Description") to 6745 // unconditionally include in API requests. By default, fields with empty or 6746 // default values are omitted from API requests. See 6747 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6748 // details. 6749 ForceSendFields []string `json:"-"` 6750 // NullFields is a list of field names (e.g. "Description") to include in API 6751 // requests with the JSON null value. By default, fields with empty values are 6752 // omitted from API requests. See 6753 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6754 NullFields []string `json:"-"` 6755 } 6756 6757 func (s *GoogleCloudVisionV1p3beta1Product) MarshalJSON() ([]byte, error) { 6758 type NoMethod GoogleCloudVisionV1p3beta1Product 6759 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6760 } 6761 6762 // GoogleCloudVisionV1p3beta1ProductKeyValue: A product label represented as a 6763 // key-value pair. 6764 type GoogleCloudVisionV1p3beta1ProductKeyValue struct { 6765 // Key: The key of the label attached to the product. Cannot be empty and 6766 // cannot exceed 128 bytes. 6767 Key string `json:"key,omitempty"` 6768 // Value: The value of the label attached to the product. Cannot be empty and 6769 // cannot exceed 128 bytes. 6770 Value string `json:"value,omitempty"` 6771 // ForceSendFields is a list of field names (e.g. "Key") to unconditionally 6772 // include in API requests. By default, fields with empty or default values are 6773 // omitted from API requests. See 6774 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6775 // details. 6776 ForceSendFields []string `json:"-"` 6777 // NullFields is a list of field names (e.g. "Key") to include in API requests 6778 // with the JSON null value. By default, fields with empty values are omitted 6779 // from API requests. See 6780 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6781 NullFields []string `json:"-"` 6782 } 6783 6784 func (s *GoogleCloudVisionV1p3beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 6785 type NoMethod GoogleCloudVisionV1p3beta1ProductKeyValue 6786 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6787 } 6788 6789 // GoogleCloudVisionV1p3beta1ProductSearchResults: Results for a product search 6790 // request. 6791 type GoogleCloudVisionV1p3beta1ProductSearchResults struct { 6792 // IndexTime: Timestamp of the index which provided these results. Products 6793 // added to the product set and products removed from the product set after 6794 // this time are not reflected in the current results. 6795 IndexTime string `json:"indexTime,omitempty"` 6796 // ProductGroupedResults: List of results grouped by products detected in the 6797 // query image. Each entry corresponds to one bounding polygon in the query 6798 // image, and contains the matching products specific to that region. There may 6799 // be duplicate product matches in the union of all the per-product results. 6800 ProductGroupedResults []*GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 6801 // Results: List of results, one for each product match. 6802 Results []*GoogleCloudVisionV1p3beta1ProductSearchResultsResult `json:"results,omitempty"` 6803 // ForceSendFields is a list of field names (e.g. "IndexTime") to 6804 // unconditionally include in API requests. By default, fields with empty or 6805 // default values are omitted from API requests. See 6806 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6807 // details. 6808 ForceSendFields []string `json:"-"` 6809 // NullFields is a list of field names (e.g. "IndexTime") to include in API 6810 // requests with the JSON null value. By default, fields with empty values are 6811 // omitted from API requests. See 6812 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6813 NullFields []string `json:"-"` 6814 } 6815 6816 func (s *GoogleCloudVisionV1p3beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 6817 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResults 6818 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6819 } 6820 6821 // GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult: Information 6822 // about the products similar to a single product in a query image. 6823 type GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult struct { 6824 // BoundingPoly: The bounding polygon around the product detected in the query 6825 // image. 6826 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 6827 // ObjectAnnotations: List of generic predictions for the object in the 6828 // bounding box. 6829 ObjectAnnotations []*GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 6830 // Results: List of results, one for each product match. 6831 Results []*GoogleCloudVisionV1p3beta1ProductSearchResultsResult `json:"results,omitempty"` 6832 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 6833 // unconditionally include in API requests. By default, fields with empty or 6834 // default values are omitted from API requests. See 6835 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6836 // details. 6837 ForceSendFields []string `json:"-"` 6838 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 6839 // requests with the JSON null value. By default, fields with empty values are 6840 // omitted from API requests. See 6841 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6842 NullFields []string `json:"-"` 6843 } 6844 6845 func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 6846 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult 6847 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6848 } 6849 6850 // GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation: Prediction 6851 // for what the object in the bounding box is. 6852 type GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation struct { 6853 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For 6854 // more information, see 6855 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 6856 LanguageCode string `json:"languageCode,omitempty"` 6857 // Mid: Object ID that should align with EntityAnnotation mid. 6858 Mid string `json:"mid,omitempty"` 6859 // Name: Object name, expressed in its `language_code` language. 6860 Name string `json:"name,omitempty"` 6861 // Score: Score of the result. Range [0, 1]. 6862 Score float64 `json:"score,omitempty"` 6863 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 6864 // unconditionally include in API requests. By default, fields with empty or 6865 // default values are omitted from API requests. See 6866 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6867 // details. 6868 ForceSendFields []string `json:"-"` 6869 // NullFields is a list of field names (e.g. "LanguageCode") to include in API 6870 // requests with the JSON null value. By default, fields with empty values are 6871 // omitted from API requests. See 6872 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6873 NullFields []string `json:"-"` 6874 } 6875 6876 func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 6877 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation 6878 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6879 } 6880 6881 func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 6882 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation 6883 var s1 struct { 6884 Score gensupport.JSONFloat64 `json:"score"` 6885 *NoMethod 6886 } 6887 s1.NoMethod = (*NoMethod)(s) 6888 if err := json.Unmarshal(data, &s1); err != nil { 6889 return err 6890 } 6891 s.Score = float64(s1.Score) 6892 return nil 6893 } 6894 6895 // GoogleCloudVisionV1p3beta1ProductSearchResultsResult: Information about a 6896 // product. 6897 type GoogleCloudVisionV1p3beta1ProductSearchResultsResult struct { 6898 // Image: The resource name of the image from the product that is the closest 6899 // match to the query. 6900 Image string `json:"image,omitempty"` 6901 // Product: The Product. 6902 Product *GoogleCloudVisionV1p3beta1Product `json:"product,omitempty"` 6903 // Score: A confidence level on the match, ranging from 0 (no confidence) to 1 6904 // (full confidence). 6905 Score float64 `json:"score,omitempty"` 6906 // ForceSendFields is a list of field names (e.g. "Image") to unconditionally 6907 // include in API requests. By default, fields with empty or default values are 6908 // omitted from API requests. See 6909 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6910 // details. 6911 ForceSendFields []string `json:"-"` 6912 // NullFields is a list of field names (e.g. "Image") to include in API 6913 // requests with the JSON null value. By default, fields with empty values are 6914 // omitted from API requests. See 6915 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6916 NullFields []string `json:"-"` 6917 } 6918 6919 func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 6920 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsResult 6921 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6922 } 6923 6924 func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 6925 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsResult 6926 var s1 struct { 6927 Score gensupport.JSONFloat64 `json:"score"` 6928 *NoMethod 6929 } 6930 s1.NoMethod = (*NoMethod)(s) 6931 if err := json.Unmarshal(data, &s1); err != nil { 6932 return err 6933 } 6934 s.Score = float64(s1.Score) 6935 return nil 6936 } 6937 6938 // GoogleCloudVisionV1p3beta1Property: A `Property` consists of a user-supplied 6939 // name/value pair. 6940 type GoogleCloudVisionV1p3beta1Property struct { 6941 // Name: Name of the property. 6942 Name string `json:"name,omitempty"` 6943 // Uint64Value: Value of numeric properties. 6944 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 6945 // Value: Value of the property. 6946 Value string `json:"value,omitempty"` 6947 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 6948 // include in API requests. By default, fields with empty or default values are 6949 // omitted from API requests. See 6950 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6951 // details. 6952 ForceSendFields []string `json:"-"` 6953 // NullFields is a list of field names (e.g. "Name") to include in API requests 6954 // with the JSON null value. By default, fields with empty values are omitted 6955 // from API requests. See 6956 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6957 NullFields []string `json:"-"` 6958 } 6959 6960 func (s *GoogleCloudVisionV1p3beta1Property) MarshalJSON() ([]byte, error) { 6961 type NoMethod GoogleCloudVisionV1p3beta1Property 6962 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6963 } 6964 6965 // GoogleCloudVisionV1p3beta1ReferenceImage: A `ReferenceImage` represents a 6966 // product image and its associated metadata, such as bounding boxes. 6967 type GoogleCloudVisionV1p3beta1ReferenceImage struct { 6968 // BoundingPolys: Optional. Bounding polygons around the areas of interest in 6969 // the reference image. If this field is empty, the system will try to detect 6970 // regions of interest. At most 10 bounding polygons will be used. The provided 6971 // shape is converted into a non-rotated rectangle. Once converted, the small 6972 // edge of the rectangle must be greater than or equal to 300 pixels. The 6973 // aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 is not). 6974 BoundingPolys []*GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPolys,omitempty"` 6975 // Name: The resource name of the reference image. Format is: 6976 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMA 6977 // GE_ID`. This field is ignored when creating a reference image. 6978 Name string `json:"name,omitempty"` 6979 // Uri: Required. The Google Cloud Storage URI of the reference image. The URI 6980 // must start with `gs://`. 6981 Uri string `json:"uri,omitempty"` 6982 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 6983 // unconditionally include in API requests. By default, fields with empty or 6984 // default values are omitted from API requests. See 6985 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 6986 // details. 6987 ForceSendFields []string `json:"-"` 6988 // NullFields is a list of field names (e.g. "BoundingPolys") to include in API 6989 // requests with the JSON null value. By default, fields with empty values are 6990 // omitted from API requests. See 6991 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 6992 NullFields []string `json:"-"` 6993 } 6994 6995 func (s *GoogleCloudVisionV1p3beta1ReferenceImage) MarshalJSON() ([]byte, error) { 6996 type NoMethod GoogleCloudVisionV1p3beta1ReferenceImage 6997 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 6998 } 6999 7000 // GoogleCloudVisionV1p3beta1SafeSearchAnnotation: Set of features pertaining 7001 // to the image, computed by computer vision methods over safe-search verticals 7002 // (for example, adult, spoof, medical, violence). 7003 type GoogleCloudVisionV1p3beta1SafeSearchAnnotation struct { 7004 // Adult: Represents the adult content likelihood for the image. Adult content 7005 // may contain elements such as nudity, pornographic images or cartoons, or 7006 // sexual activities. 7007 // 7008 // Possible values: 7009 // "UNKNOWN" - Unknown likelihood. 7010 // "VERY_UNLIKELY" - It is very unlikely. 7011 // "UNLIKELY" - It is unlikely. 7012 // "POSSIBLE" - It is possible. 7013 // "LIKELY" - It is likely. 7014 // "VERY_LIKELY" - It is very likely. 7015 Adult string `json:"adult,omitempty"` 7016 // Medical: Likelihood that this is a medical image. 7017 // 7018 // Possible values: 7019 // "UNKNOWN" - Unknown likelihood. 7020 // "VERY_UNLIKELY" - It is very unlikely. 7021 // "UNLIKELY" - It is unlikely. 7022 // "POSSIBLE" - It is possible. 7023 // "LIKELY" - It is likely. 7024 // "VERY_LIKELY" - It is very likely. 7025 Medical string `json:"medical,omitempty"` 7026 // Racy: Likelihood that the request image contains racy content. Racy content 7027 // may include (but is not limited to) skimpy or sheer clothing, strategically 7028 // covered nudity, lewd or provocative poses, or close-ups of sensitive body 7029 // areas. 7030 // 7031 // Possible values: 7032 // "UNKNOWN" - Unknown likelihood. 7033 // "VERY_UNLIKELY" - It is very unlikely. 7034 // "UNLIKELY" - It is unlikely. 7035 // "POSSIBLE" - It is possible. 7036 // "LIKELY" - It is likely. 7037 // "VERY_LIKELY" - It is very likely. 7038 Racy string `json:"racy,omitempty"` 7039 // Spoof: Spoof likelihood. The likelihood that an modification was made to the 7040 // image's canonical version to make it appear funny or offensive. 7041 // 7042 // Possible values: 7043 // "UNKNOWN" - Unknown likelihood. 7044 // "VERY_UNLIKELY" - It is very unlikely. 7045 // "UNLIKELY" - It is unlikely. 7046 // "POSSIBLE" - It is possible. 7047 // "LIKELY" - It is likely. 7048 // "VERY_LIKELY" - It is very likely. 7049 Spoof string `json:"spoof,omitempty"` 7050 // Violence: Likelihood that this image contains violent content. Violent 7051 // content may include death, serious harm, or injury to individuals or groups 7052 // of individuals. 7053 // 7054 // Possible values: 7055 // "UNKNOWN" - Unknown likelihood. 7056 // "VERY_UNLIKELY" - It is very unlikely. 7057 // "UNLIKELY" - It is unlikely. 7058 // "POSSIBLE" - It is possible. 7059 // "LIKELY" - It is likely. 7060 // "VERY_LIKELY" - It is very likely. 7061 Violence string `json:"violence,omitempty"` 7062 // ForceSendFields is a list of field names (e.g. "Adult") to unconditionally 7063 // include in API requests. By default, fields with empty or default values are 7064 // omitted from API requests. See 7065 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7066 // details. 7067 ForceSendFields []string `json:"-"` 7068 // NullFields is a list of field names (e.g. "Adult") to include in API 7069 // requests with the JSON null value. By default, fields with empty values are 7070 // omitted from API requests. See 7071 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7072 NullFields []string `json:"-"` 7073 } 7074 7075 func (s *GoogleCloudVisionV1p3beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 7076 type NoMethod GoogleCloudVisionV1p3beta1SafeSearchAnnotation 7077 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7078 } 7079 7080 // GoogleCloudVisionV1p3beta1Symbol: A single symbol representation. 7081 type GoogleCloudVisionV1p3beta1Symbol struct { 7082 // BoundingBox: The bounding box for the symbol. The vertices are in the order 7083 // of top-left, top-right, bottom-right, bottom-left. When a rotation of the 7084 // bounding box is detected the rotation is represented as around the top-left 7085 // corner as defined when the text is read in the 'natural' orientation. For 7086 // example: * when the text is horizontal it might look like: 0----1 | | 3----2 7087 // * when it's rotated 180 degrees around the top-left corner it becomes: 7088 // 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). 7089 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 7090 // Confidence: Confidence of the OCR results for the symbol. Range [0, 1]. 7091 Confidence float64 `json:"confidence,omitempty"` 7092 // Property: Additional information detected for the symbol. 7093 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 7094 // Text: The actual UTF-8 representation of the symbol. 7095 Text string `json:"text,omitempty"` 7096 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 7097 // unconditionally include in API requests. By default, fields with empty or 7098 // default values are omitted from API requests. See 7099 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7100 // details. 7101 ForceSendFields []string `json:"-"` 7102 // NullFields is a list of field names (e.g. "BoundingBox") to include in API 7103 // requests with the JSON null value. By default, fields with empty values are 7104 // omitted from API requests. See 7105 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7106 NullFields []string `json:"-"` 7107 } 7108 7109 func (s *GoogleCloudVisionV1p3beta1Symbol) MarshalJSON() ([]byte, error) { 7110 type NoMethod GoogleCloudVisionV1p3beta1Symbol 7111 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7112 } 7113 7114 func (s *GoogleCloudVisionV1p3beta1Symbol) UnmarshalJSON(data []byte) error { 7115 type NoMethod GoogleCloudVisionV1p3beta1Symbol 7116 var s1 struct { 7117 Confidence gensupport.JSONFloat64 `json:"confidence"` 7118 *NoMethod 7119 } 7120 s1.NoMethod = (*NoMethod)(s) 7121 if err := json.Unmarshal(data, &s1); err != nil { 7122 return err 7123 } 7124 s.Confidence = float64(s1.Confidence) 7125 return nil 7126 } 7127 7128 // GoogleCloudVisionV1p3beta1TextAnnotation: TextAnnotation contains a 7129 // structured representation of OCR extracted text. The hierarchy of an OCR 7130 // extracted text structure is like this: TextAnnotation -> Page -> Block -> 7131 // Paragraph -> Word -> Symbol Each structural component, starting from Page, 7132 // may further have their own properties. Properties describe detected 7133 // languages, breaks etc.. Please refer to the TextAnnotation.TextProperty 7134 // message definition below for more detail. 7135 type GoogleCloudVisionV1p3beta1TextAnnotation struct { 7136 // Pages: List of pages detected by OCR. 7137 Pages []*GoogleCloudVisionV1p3beta1Page `json:"pages,omitempty"` 7138 // Text: UTF-8 text detected on the pages. 7139 Text string `json:"text,omitempty"` 7140 // ForceSendFields is a list of field names (e.g. "Pages") to unconditionally 7141 // include in API requests. By default, fields with empty or default values are 7142 // omitted from API requests. See 7143 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7144 // details. 7145 ForceSendFields []string `json:"-"` 7146 // NullFields is a list of field names (e.g. "Pages") to include in API 7147 // requests with the JSON null value. By default, fields with empty values are 7148 // omitted from API requests. See 7149 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7150 NullFields []string `json:"-"` 7151 } 7152 7153 func (s *GoogleCloudVisionV1p3beta1TextAnnotation) MarshalJSON() ([]byte, error) { 7154 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotation 7155 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7156 } 7157 7158 // GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak: Detected start or end 7159 // of a structural component. 7160 type GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak struct { 7161 // IsPrefix: True if break prepends the element. 7162 IsPrefix bool `json:"isPrefix,omitempty"` 7163 // Type: Detected break type. 7164 // 7165 // Possible values: 7166 // "UNKNOWN" - Unknown break label type. 7167 // "SPACE" - Regular space. 7168 // "SURE_SPACE" - Sure space (very wide). 7169 // "EOL_SURE_SPACE" - Line-wrapping break. 7170 // "HYPHEN" - End-line hyphen that is not present in text; does not co-occur 7171 // with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 7172 // "LINE_BREAK" - Line break that ends a paragraph. 7173 Type string `json:"type,omitempty"` 7174 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 7175 // unconditionally include in API requests. By default, fields with empty or 7176 // default values are omitted from API requests. See 7177 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7178 // details. 7179 ForceSendFields []string `json:"-"` 7180 // NullFields is a list of field names (e.g. "IsPrefix") to include in API 7181 // requests with the JSON null value. By default, fields with empty values are 7182 // omitted from API requests. See 7183 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7184 NullFields []string `json:"-"` 7185 } 7186 7187 func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 7188 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak 7189 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7190 } 7191 7192 // GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage: Detected language 7193 // for a structural component. 7194 type GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage struct { 7195 // Confidence: Confidence of detected language. Range [0, 1]. 7196 Confidence float64 `json:"confidence,omitempty"` 7197 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For 7198 // more information, see 7199 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 7200 LanguageCode string `json:"languageCode,omitempty"` 7201 // ForceSendFields is a list of field names (e.g. "Confidence") to 7202 // unconditionally include in API requests. By default, fields with empty or 7203 // default values are omitted from API requests. See 7204 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7205 // details. 7206 ForceSendFields []string `json:"-"` 7207 // NullFields is a list of field names (e.g. "Confidence") to include in API 7208 // requests with the JSON null value. By default, fields with empty values are 7209 // omitted from API requests. See 7210 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7211 NullFields []string `json:"-"` 7212 } 7213 7214 func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 7215 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage 7216 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7217 } 7218 7219 func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 7220 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage 7221 var s1 struct { 7222 Confidence gensupport.JSONFloat64 `json:"confidence"` 7223 *NoMethod 7224 } 7225 s1.NoMethod = (*NoMethod)(s) 7226 if err := json.Unmarshal(data, &s1); err != nil { 7227 return err 7228 } 7229 s.Confidence = float64(s1.Confidence) 7230 return nil 7231 } 7232 7233 // GoogleCloudVisionV1p3beta1TextAnnotationTextProperty: Additional information 7234 // detected on the structural component. 7235 type GoogleCloudVisionV1p3beta1TextAnnotationTextProperty struct { 7236 // DetectedBreak: Detected start or end of a text segment. 7237 DetectedBreak *GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 7238 // DetectedLanguages: A list of detected languages together with confidence. 7239 DetectedLanguages []*GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 7240 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 7241 // unconditionally include in API requests. By default, fields with empty or 7242 // default values are omitted from API requests. See 7243 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7244 // details. 7245 ForceSendFields []string `json:"-"` 7246 // NullFields is a list of field names (e.g. "DetectedBreak") to include in API 7247 // requests with the JSON null value. By default, fields with empty values are 7248 // omitted from API requests. See 7249 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7250 NullFields []string `json:"-"` 7251 } 7252 7253 func (s *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 7254 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationTextProperty 7255 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7256 } 7257 7258 // GoogleCloudVisionV1p3beta1Vertex: A vertex represents a 2D point in the 7259 // image. NOTE: the vertex coordinates are in the same scale as the original 7260 // image. 7261 type GoogleCloudVisionV1p3beta1Vertex struct { 7262 // X: X coordinate. 7263 X int64 `json:"x,omitempty"` 7264 // Y: Y coordinate. 7265 Y int64 `json:"y,omitempty"` 7266 // ForceSendFields is a list of field names (e.g. "X") to unconditionally 7267 // include in API requests. By default, fields with empty or default values are 7268 // omitted from API requests. See 7269 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7270 // details. 7271 ForceSendFields []string `json:"-"` 7272 // NullFields is a list of field names (e.g. "X") to include in API requests 7273 // with the JSON null value. By default, fields with empty values are omitted 7274 // from API requests. See 7275 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7276 NullFields []string `json:"-"` 7277 } 7278 7279 func (s *GoogleCloudVisionV1p3beta1Vertex) MarshalJSON() ([]byte, error) { 7280 type NoMethod GoogleCloudVisionV1p3beta1Vertex 7281 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7282 } 7283 7284 // GoogleCloudVisionV1p3beta1WebDetection: Relevant information for the image 7285 // from the Internet. 7286 type GoogleCloudVisionV1p3beta1WebDetection struct { 7287 // BestGuessLabels: The service's best guess as to the topic of the request 7288 // image. Inferred from similar images on the open web. 7289 BestGuessLabels []*GoogleCloudVisionV1p3beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 7290 // FullMatchingImages: Fully matching images from the Internet. Can include 7291 // resized copies of the query image. 7292 FullMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 7293 // PagesWithMatchingImages: Web pages containing the matching images from the 7294 // Internet. 7295 PagesWithMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 7296 // PartialMatchingImages: Partial matching images from the Internet. Those 7297 // images are similar enough to share some key-point features. For example an 7298 // original image will likely have partial matching for its crops. 7299 PartialMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 7300 // VisuallySimilarImages: The visually similar image results. 7301 VisuallySimilarImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 7302 // WebEntities: Deduced entities from similar images on the Internet. 7303 WebEntities []*GoogleCloudVisionV1p3beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 7304 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 7305 // unconditionally include in API requests. By default, fields with empty or 7306 // default values are omitted from API requests. See 7307 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7308 // details. 7309 ForceSendFields []string `json:"-"` 7310 // NullFields is a list of field names (e.g. "BestGuessLabels") to include in 7311 // API requests with the JSON null value. By default, fields with empty values 7312 // are omitted from API requests. See 7313 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7314 NullFields []string `json:"-"` 7315 } 7316 7317 func (s *GoogleCloudVisionV1p3beta1WebDetection) MarshalJSON() ([]byte, error) { 7318 type NoMethod GoogleCloudVisionV1p3beta1WebDetection 7319 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7320 } 7321 7322 // GoogleCloudVisionV1p3beta1WebDetectionWebEntity: Entity deduced from similar 7323 // images on the Internet. 7324 type GoogleCloudVisionV1p3beta1WebDetectionWebEntity struct { 7325 // Description: Canonical description of the entity, in English. 7326 Description string `json:"description,omitempty"` 7327 // EntityId: Opaque entity ID. 7328 EntityId string `json:"entityId,omitempty"` 7329 // Score: Overall relevancy score for the entity. Not normalized and not 7330 // comparable across different image queries. 7331 Score float64 `json:"score,omitempty"` 7332 // ForceSendFields is a list of field names (e.g. "Description") to 7333 // unconditionally include in API requests. By default, fields with empty or 7334 // default values are omitted from API requests. See 7335 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7336 // details. 7337 ForceSendFields []string `json:"-"` 7338 // NullFields is a list of field names (e.g. "Description") to include in API 7339 // requests with the JSON null value. By default, fields with empty values are 7340 // omitted from API requests. See 7341 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7342 NullFields []string `json:"-"` 7343 } 7344 7345 func (s *GoogleCloudVisionV1p3beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 7346 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebEntity 7347 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7348 } 7349 7350 func (s *GoogleCloudVisionV1p3beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 7351 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebEntity 7352 var s1 struct { 7353 Score gensupport.JSONFloat64 `json:"score"` 7354 *NoMethod 7355 } 7356 s1.NoMethod = (*NoMethod)(s) 7357 if err := json.Unmarshal(data, &s1); err != nil { 7358 return err 7359 } 7360 s.Score = float64(s1.Score) 7361 return nil 7362 } 7363 7364 // GoogleCloudVisionV1p3beta1WebDetectionWebImage: Metadata for online images. 7365 type GoogleCloudVisionV1p3beta1WebDetectionWebImage struct { 7366 // Score: (Deprecated) Overall relevancy score for the image. 7367 Score float64 `json:"score,omitempty"` 7368 // Url: The result image URL. 7369 Url string `json:"url,omitempty"` 7370 // ForceSendFields is a list of field names (e.g. "Score") to unconditionally 7371 // include in API requests. By default, fields with empty or default values are 7372 // omitted from API requests. See 7373 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7374 // details. 7375 ForceSendFields []string `json:"-"` 7376 // NullFields is a list of field names (e.g. "Score") to include in API 7377 // requests with the JSON null value. By default, fields with empty values are 7378 // omitted from API requests. See 7379 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7380 NullFields []string `json:"-"` 7381 } 7382 7383 func (s *GoogleCloudVisionV1p3beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 7384 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebImage 7385 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7386 } 7387 7388 func (s *GoogleCloudVisionV1p3beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 7389 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebImage 7390 var s1 struct { 7391 Score gensupport.JSONFloat64 `json:"score"` 7392 *NoMethod 7393 } 7394 s1.NoMethod = (*NoMethod)(s) 7395 if err := json.Unmarshal(data, &s1); err != nil { 7396 return err 7397 } 7398 s.Score = float64(s1.Score) 7399 return nil 7400 } 7401 7402 // GoogleCloudVisionV1p3beta1WebDetectionWebLabel: Label to provide extra 7403 // metadata for the web detection. 7404 type GoogleCloudVisionV1p3beta1WebDetectionWebLabel struct { 7405 // Label: Label for extra metadata. 7406 Label string `json:"label,omitempty"` 7407 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" or 7408 // "sr-Latn". For more information, see 7409 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 7410 LanguageCode string `json:"languageCode,omitempty"` 7411 // ForceSendFields is a list of field names (e.g. "Label") to unconditionally 7412 // include in API requests. By default, fields with empty or default values are 7413 // omitted from API requests. See 7414 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7415 // details. 7416 ForceSendFields []string `json:"-"` 7417 // NullFields is a list of field names (e.g. "Label") to include in API 7418 // requests with the JSON null value. By default, fields with empty values are 7419 // omitted from API requests. See 7420 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7421 NullFields []string `json:"-"` 7422 } 7423 7424 func (s *GoogleCloudVisionV1p3beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 7425 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebLabel 7426 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7427 } 7428 7429 // GoogleCloudVisionV1p3beta1WebDetectionWebPage: Metadata for web pages. 7430 type GoogleCloudVisionV1p3beta1WebDetectionWebPage struct { 7431 // FullMatchingImages: Fully matching images on the page. Can include resized 7432 // copies of the query image. 7433 FullMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 7434 // PageTitle: Title for the web page, may contain HTML markups. 7435 PageTitle string `json:"pageTitle,omitempty"` 7436 // PartialMatchingImages: Partial matching images on the page. Those images are 7437 // similar enough to share some key-point features. For example an original 7438 // image will likely have partial matching for its crops. 7439 PartialMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 7440 // Score: (Deprecated) Overall relevancy score for the web page. 7441 Score float64 `json:"score,omitempty"` 7442 // Url: The result web page URL. 7443 Url string `json:"url,omitempty"` 7444 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") to 7445 // unconditionally include in API requests. By default, fields with empty or 7446 // default values are omitted from API requests. See 7447 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7448 // details. 7449 ForceSendFields []string `json:"-"` 7450 // NullFields is a list of field names (e.g. "FullMatchingImages") to include 7451 // in API requests with the JSON null value. By default, fields with empty 7452 // values are omitted from API requests. See 7453 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7454 NullFields []string `json:"-"` 7455 } 7456 7457 func (s *GoogleCloudVisionV1p3beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 7458 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebPage 7459 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7460 } 7461 7462 func (s *GoogleCloudVisionV1p3beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 7463 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebPage 7464 var s1 struct { 7465 Score gensupport.JSONFloat64 `json:"score"` 7466 *NoMethod 7467 } 7468 s1.NoMethod = (*NoMethod)(s) 7469 if err := json.Unmarshal(data, &s1); err != nil { 7470 return err 7471 } 7472 s.Score = float64(s1.Score) 7473 return nil 7474 } 7475 7476 // GoogleCloudVisionV1p3beta1Word: A word representation. 7477 type GoogleCloudVisionV1p3beta1Word struct { 7478 // BoundingBox: The bounding box for the word. The vertices are in the order of 7479 // top-left, top-right, bottom-right, bottom-left. When a rotation of the 7480 // bounding box is detected the rotation is represented as around the top-left 7481 // corner as defined when the text is read in the 'natural' orientation. For 7482 // example: * when the text is horizontal it might look like: 0----1 | | 3----2 7483 // * when it's rotated 180 degrees around the top-left corner it becomes: 7484 // 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). 7485 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 7486 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 7487 Confidence float64 `json:"confidence,omitempty"` 7488 // Property: Additional information detected for the word. 7489 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 7490 // Symbols: List of symbols in the word. The order of the symbols follows the 7491 // natural reading order. 7492 Symbols []*GoogleCloudVisionV1p3beta1Symbol `json:"symbols,omitempty"` 7493 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 7494 // unconditionally include in API requests. By default, fields with empty or 7495 // default values are omitted from API requests. See 7496 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7497 // details. 7498 ForceSendFields []string `json:"-"` 7499 // NullFields is a list of field names (e.g. "BoundingBox") to include in API 7500 // requests with the JSON null value. By default, fields with empty values are 7501 // omitted from API requests. See 7502 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7503 NullFields []string `json:"-"` 7504 } 7505 7506 func (s *GoogleCloudVisionV1p3beta1Word) MarshalJSON() ([]byte, error) { 7507 type NoMethod GoogleCloudVisionV1p3beta1Word 7508 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7509 } 7510 7511 func (s *GoogleCloudVisionV1p3beta1Word) UnmarshalJSON(data []byte) error { 7512 type NoMethod GoogleCloudVisionV1p3beta1Word 7513 var s1 struct { 7514 Confidence gensupport.JSONFloat64 `json:"confidence"` 7515 *NoMethod 7516 } 7517 s1.NoMethod = (*NoMethod)(s) 7518 if err := json.Unmarshal(data, &s1); err != nil { 7519 return err 7520 } 7521 s.Confidence = float64(s1.Confidence) 7522 return nil 7523 } 7524 7525 // GoogleCloudVisionV1p4beta1AnnotateFileResponse: Response to a single file 7526 // annotation request. A file may contain one or more images, which 7527 // individually have their own responses. 7528 type GoogleCloudVisionV1p4beta1AnnotateFileResponse struct { 7529 // Error: If set, represents the error message for the failed request. The 7530 // `responses` field will not be set in this case. 7531 Error *Status `json:"error,omitempty"` 7532 // InputConfig: Information about the file for which this response is 7533 // generated. 7534 InputConfig *GoogleCloudVisionV1p4beta1InputConfig `json:"inputConfig,omitempty"` 7535 // Responses: Individual responses to images found within the file. This field 7536 // will be empty if the `error` field is set. 7537 Responses []*GoogleCloudVisionV1p4beta1AnnotateImageResponse `json:"responses,omitempty"` 7538 // TotalPages: This field gives the total number of pages in the file. 7539 TotalPages int64 `json:"totalPages,omitempty"` 7540 // ForceSendFields is a list of field names (e.g. "Error") to unconditionally 7541 // include in API requests. By default, fields with empty or default values are 7542 // omitted from API requests. See 7543 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7544 // details. 7545 ForceSendFields []string `json:"-"` 7546 // NullFields is a list of field names (e.g. "Error") to include in API 7547 // requests with the JSON null value. By default, fields with empty values are 7548 // omitted from API requests. See 7549 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7550 NullFields []string `json:"-"` 7551 } 7552 7553 func (s *GoogleCloudVisionV1p4beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 7554 type NoMethod GoogleCloudVisionV1p4beta1AnnotateFileResponse 7555 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7556 } 7557 7558 // GoogleCloudVisionV1p4beta1AnnotateImageResponse: Response to an image 7559 // annotation request. 7560 type GoogleCloudVisionV1p4beta1AnnotateImageResponse struct { 7561 // Context: If present, contextual information is needed to understand where 7562 // this image comes from. 7563 Context *GoogleCloudVisionV1p4beta1ImageAnnotationContext `json:"context,omitempty"` 7564 // CropHintsAnnotation: If present, crop hints have completed successfully. 7565 CropHintsAnnotation *GoogleCloudVisionV1p4beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 7566 // Error: If set, represents the error message for the operation. Note that 7567 // filled-in image annotations are guaranteed to be correct, even when `error` 7568 // is set. 7569 Error *Status `json:"error,omitempty"` 7570 // FaceAnnotations: If present, face detection has completed successfully. 7571 FaceAnnotations []*GoogleCloudVisionV1p4beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 7572 // FullTextAnnotation: If present, text (OCR) detection or document (OCR) text 7573 // detection has completed successfully. This annotation provides the 7574 // structural hierarchy for the OCR detected text. 7575 FullTextAnnotation *GoogleCloudVisionV1p4beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 7576 // ImagePropertiesAnnotation: If present, image properties were extracted 7577 // successfully. 7578 ImagePropertiesAnnotation *GoogleCloudVisionV1p4beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 7579 // LabelAnnotations: If present, label detection has completed successfully. 7580 LabelAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 7581 // LandmarkAnnotations: If present, landmark detection has completed 7582 // successfully. 7583 LandmarkAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 7584 // LocalizedObjectAnnotations: If present, localized object detection has 7585 // completed successfully. This will be sorted descending by confidence score. 7586 LocalizedObjectAnnotations []*GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 7587 // LogoAnnotations: If present, logo detection has completed successfully. 7588 LogoAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 7589 // ProductSearchResults: If present, product search has completed successfully. 7590 ProductSearchResults *GoogleCloudVisionV1p4beta1ProductSearchResults `json:"productSearchResults,omitempty"` 7591 // SafeSearchAnnotation: If present, safe-search annotation has completed 7592 // successfully. 7593 SafeSearchAnnotation *GoogleCloudVisionV1p4beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 7594 // TextAnnotations: If present, text (OCR) detection has completed 7595 // successfully. 7596 TextAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"textAnnotations,omitempty"` 7597 // WebDetection: If present, web detection has completed successfully. 7598 WebDetection *GoogleCloudVisionV1p4beta1WebDetection `json:"webDetection,omitempty"` 7599 // ForceSendFields is a list of field names (e.g. "Context") to unconditionally 7600 // include in API requests. By default, fields with empty or default values are 7601 // omitted from API requests. See 7602 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7603 // details. 7604 ForceSendFields []string `json:"-"` 7605 // NullFields is a list of field names (e.g. "Context") to include in API 7606 // requests with the JSON null value. By default, fields with empty values are 7607 // omitted from API requests. See 7608 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7609 NullFields []string `json:"-"` 7610 } 7611 7612 func (s *GoogleCloudVisionV1p4beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 7613 type NoMethod GoogleCloudVisionV1p4beta1AnnotateImageResponse 7614 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7615 } 7616 7617 // GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse: The response for a 7618 // single offline file annotation request. 7619 type GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse struct { 7620 // OutputConfig: The output location and metadata from 7621 // AsyncAnnotateFileRequest. 7622 OutputConfig *GoogleCloudVisionV1p4beta1OutputConfig `json:"outputConfig,omitempty"` 7623 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 7624 // unconditionally include in API requests. By default, fields with empty or 7625 // default values are omitted from API requests. See 7626 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7627 // details. 7628 ForceSendFields []string `json:"-"` 7629 // NullFields is a list of field names (e.g. "OutputConfig") to include in API 7630 // requests with the JSON null value. By default, fields with empty values are 7631 // omitted from API requests. See 7632 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7633 NullFields []string `json:"-"` 7634 } 7635 7636 func (s *GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 7637 type NoMethod GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse 7638 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7639 } 7640 7641 // GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse: Response to an 7642 // async batch file annotation request. 7643 type GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse struct { 7644 // Responses: The list of file annotation responses, one for each request in 7645 // AsyncBatchAnnotateFilesRequest. 7646 Responses []*GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 7647 // ForceSendFields is a list of field names (e.g. "Responses") to 7648 // unconditionally include in API requests. By default, fields with empty or 7649 // default values are omitted from API requests. See 7650 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7651 // details. 7652 ForceSendFields []string `json:"-"` 7653 // NullFields is a list of field names (e.g. "Responses") to include in API 7654 // requests with the JSON null value. By default, fields with empty values are 7655 // omitted from API requests. See 7656 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7657 NullFields []string `json:"-"` 7658 } 7659 7660 func (s *GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 7661 type NoMethod GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse 7662 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7663 } 7664 7665 // GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse: Response to an 7666 // async batch image annotation request. 7667 type GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse struct { 7668 // OutputConfig: The output location and metadata from 7669 // AsyncBatchAnnotateImagesRequest. 7670 OutputConfig *GoogleCloudVisionV1p4beta1OutputConfig `json:"outputConfig,omitempty"` 7671 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 7672 // unconditionally include in API requests. By default, fields with empty or 7673 // default values are omitted from API requests. See 7674 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7675 // details. 7676 ForceSendFields []string `json:"-"` 7677 // NullFields is a list of field names (e.g. "OutputConfig") to include in API 7678 // requests with the JSON null value. By default, fields with empty values are 7679 // omitted from API requests. See 7680 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7681 NullFields []string `json:"-"` 7682 } 7683 7684 func (s *GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 7685 type NoMethod GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse 7686 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7687 } 7688 7689 // GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse: A list of file 7690 // annotation responses. 7691 type GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse struct { 7692 // Responses: The list of file annotation responses, each response 7693 // corresponding to each AnnotateFileRequest in BatchAnnotateFilesRequest. 7694 Responses []*GoogleCloudVisionV1p4beta1AnnotateFileResponse `json:"responses,omitempty"` 7695 // ForceSendFields is a list of field names (e.g. "Responses") to 7696 // unconditionally include in API requests. By default, fields with empty or 7697 // default values are omitted from API requests. See 7698 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7699 // details. 7700 ForceSendFields []string `json:"-"` 7701 // NullFields is a list of field names (e.g. "Responses") to include in API 7702 // requests with the JSON null value. By default, fields with empty values are 7703 // omitted from API requests. See 7704 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7705 NullFields []string `json:"-"` 7706 } 7707 7708 func (s *GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 7709 type NoMethod GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse 7710 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7711 } 7712 7713 // GoogleCloudVisionV1p4beta1BatchOperationMetadata: Metadata for the batch 7714 // operations such as the current state. This is included in the `metadata` 7715 // field of the `Operation` returned by the `GetOperation` call of the 7716 // `google::longrunning::Operations` service. 7717 type GoogleCloudVisionV1p4beta1BatchOperationMetadata struct { 7718 // EndTime: The time when the batch request is finished and 7719 // google.longrunning.Operation.done is set to true. 7720 EndTime string `json:"endTime,omitempty"` 7721 // State: The current state of the batch operation. 7722 // 7723 // Possible values: 7724 // "STATE_UNSPECIFIED" - Invalid. 7725 // "PROCESSING" - Request is actively being processed. 7726 // "SUCCESSFUL" - The request is done and at least one item has been 7727 // successfully processed. 7728 // "FAILED" - The request is done and no item has been successfully 7729 // processed. 7730 // "CANCELLED" - The request is done after the 7731 // longrunning.Operations.CancelOperation has been called by the user. Any 7732 // records that were processed before the cancel command are output as 7733 // specified in the request. 7734 State string `json:"state,omitempty"` 7735 // SubmitTime: The time when the batch request was submitted to the server. 7736 SubmitTime string `json:"submitTime,omitempty"` 7737 // ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally 7738 // include in API requests. By default, fields with empty or default values are 7739 // omitted from API requests. See 7740 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7741 // details. 7742 ForceSendFields []string `json:"-"` 7743 // NullFields is a list of field names (e.g. "EndTime") to include in API 7744 // requests with the JSON null value. By default, fields with empty values are 7745 // omitted from API requests. See 7746 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7747 NullFields []string `json:"-"` 7748 } 7749 7750 func (s *GoogleCloudVisionV1p4beta1BatchOperationMetadata) MarshalJSON() ([]byte, error) { 7751 type NoMethod GoogleCloudVisionV1p4beta1BatchOperationMetadata 7752 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7753 } 7754 7755 // GoogleCloudVisionV1p4beta1Block: Logical element on the page. 7756 type GoogleCloudVisionV1p4beta1Block struct { 7757 // BlockType: Detected block type (text, image etc) for this block. 7758 // 7759 // Possible values: 7760 // "UNKNOWN" - Unknown block type. 7761 // "TEXT" - Regular text block. 7762 // "TABLE" - Table block. 7763 // "PICTURE" - Image block. 7764 // "RULER" - Horizontal/vertical line box. 7765 // "BARCODE" - Barcode block. 7766 BlockType string `json:"blockType,omitempty"` 7767 // BoundingBox: The bounding box for the block. The vertices are in the order 7768 // of top-left, top-right, bottom-right, bottom-left. When a rotation of the 7769 // bounding box is detected the rotation is represented as around the top-left 7770 // corner as defined when the text is read in the 'natural' orientation. For 7771 // example: * when the text is horizontal it might look like: 0----1 | | 3----2 7772 // * when it's rotated 180 degrees around the top-left corner it becomes: 7773 // 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). 7774 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 7775 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 7776 Confidence float64 `json:"confidence,omitempty"` 7777 // Paragraphs: List of paragraphs in this block (if this blocks is of type 7778 // text). 7779 Paragraphs []*GoogleCloudVisionV1p4beta1Paragraph `json:"paragraphs,omitempty"` 7780 // Property: Additional information detected for the block. 7781 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 7782 // ForceSendFields is a list of field names (e.g. "BlockType") to 7783 // unconditionally include in API requests. By default, fields with empty or 7784 // default values are omitted from API requests. See 7785 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7786 // details. 7787 ForceSendFields []string `json:"-"` 7788 // NullFields is a list of field names (e.g. "BlockType") to include in API 7789 // requests with the JSON null value. By default, fields with empty values are 7790 // omitted from API requests. See 7791 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7792 NullFields []string `json:"-"` 7793 } 7794 7795 func (s *GoogleCloudVisionV1p4beta1Block) MarshalJSON() ([]byte, error) { 7796 type NoMethod GoogleCloudVisionV1p4beta1Block 7797 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7798 } 7799 7800 func (s *GoogleCloudVisionV1p4beta1Block) UnmarshalJSON(data []byte) error { 7801 type NoMethod GoogleCloudVisionV1p4beta1Block 7802 var s1 struct { 7803 Confidence gensupport.JSONFloat64 `json:"confidence"` 7804 *NoMethod 7805 } 7806 s1.NoMethod = (*NoMethod)(s) 7807 if err := json.Unmarshal(data, &s1); err != nil { 7808 return err 7809 } 7810 s.Confidence = float64(s1.Confidence) 7811 return nil 7812 } 7813 7814 // GoogleCloudVisionV1p4beta1BoundingPoly: A bounding polygon for the detected 7815 // image annotation. 7816 type GoogleCloudVisionV1p4beta1BoundingPoly struct { 7817 // NormalizedVertices: The bounding polygon normalized vertices. 7818 NormalizedVertices []*GoogleCloudVisionV1p4beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 7819 // Vertices: The bounding polygon vertices. 7820 Vertices []*GoogleCloudVisionV1p4beta1Vertex `json:"vertices,omitempty"` 7821 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") to 7822 // unconditionally include in API requests. By default, fields with empty or 7823 // default values are omitted from API requests. See 7824 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7825 // details. 7826 ForceSendFields []string `json:"-"` 7827 // NullFields is a list of field names (e.g. "NormalizedVertices") to include 7828 // in API requests with the JSON null value. By default, fields with empty 7829 // values are omitted from API requests. See 7830 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7831 NullFields []string `json:"-"` 7832 } 7833 7834 func (s *GoogleCloudVisionV1p4beta1BoundingPoly) MarshalJSON() ([]byte, error) { 7835 type NoMethod GoogleCloudVisionV1p4beta1BoundingPoly 7836 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7837 } 7838 7839 // GoogleCloudVisionV1p4beta1Celebrity: A Celebrity is a group of Faces with an 7840 // identity. 7841 type GoogleCloudVisionV1p4beta1Celebrity struct { 7842 // Description: The Celebrity's description. 7843 Description string `json:"description,omitempty"` 7844 // DisplayName: The Celebrity's display name. 7845 DisplayName string `json:"displayName,omitempty"` 7846 // Name: The resource name of the preloaded Celebrity. Has the format 7847 // `builtin/{mid}`. 7848 Name string `json:"name,omitempty"` 7849 // ForceSendFields is a list of field names (e.g. "Description") to 7850 // unconditionally include in API requests. By default, fields with empty or 7851 // default values are omitted from API requests. See 7852 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7853 // details. 7854 ForceSendFields []string `json:"-"` 7855 // NullFields is a list of field names (e.g. "Description") to include in API 7856 // requests with the JSON null value. By default, fields with empty values are 7857 // omitted from API requests. See 7858 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7859 NullFields []string `json:"-"` 7860 } 7861 7862 func (s *GoogleCloudVisionV1p4beta1Celebrity) MarshalJSON() ([]byte, error) { 7863 type NoMethod GoogleCloudVisionV1p4beta1Celebrity 7864 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7865 } 7866 7867 // GoogleCloudVisionV1p4beta1ColorInfo: Color information consists of RGB 7868 // channels, score, and the fraction of the image that the color occupies in 7869 // the image. 7870 type GoogleCloudVisionV1p4beta1ColorInfo struct { 7871 // Color: RGB components of the color. 7872 Color *Color `json:"color,omitempty"` 7873 // PixelFraction: The fraction of pixels the color occupies in the image. Value 7874 // in range [0, 1]. 7875 PixelFraction float64 `json:"pixelFraction,omitempty"` 7876 // Score: Image-specific score for this color. Value in range [0, 1]. 7877 Score float64 `json:"score,omitempty"` 7878 // ForceSendFields is a list of field names (e.g. "Color") to unconditionally 7879 // include in API requests. By default, fields with empty or default values are 7880 // omitted from API requests. See 7881 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7882 // details. 7883 ForceSendFields []string `json:"-"` 7884 // NullFields is a list of field names (e.g. "Color") to include in API 7885 // requests with the JSON null value. By default, fields with empty values are 7886 // omitted from API requests. See 7887 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7888 NullFields []string `json:"-"` 7889 } 7890 7891 func (s *GoogleCloudVisionV1p4beta1ColorInfo) MarshalJSON() ([]byte, error) { 7892 type NoMethod GoogleCloudVisionV1p4beta1ColorInfo 7893 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7894 } 7895 7896 func (s *GoogleCloudVisionV1p4beta1ColorInfo) UnmarshalJSON(data []byte) error { 7897 type NoMethod GoogleCloudVisionV1p4beta1ColorInfo 7898 var s1 struct { 7899 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 7900 Score gensupport.JSONFloat64 `json:"score"` 7901 *NoMethod 7902 } 7903 s1.NoMethod = (*NoMethod)(s) 7904 if err := json.Unmarshal(data, &s1); err != nil { 7905 return err 7906 } 7907 s.PixelFraction = float64(s1.PixelFraction) 7908 s.Score = float64(s1.Score) 7909 return nil 7910 } 7911 7912 // GoogleCloudVisionV1p4beta1CropHint: Single crop hint that is used to 7913 // generate a new crop when serving an image. 7914 type GoogleCloudVisionV1p4beta1CropHint struct { 7915 // BoundingPoly: The bounding polygon for the crop region. The coordinates of 7916 // the bounding box are in the original image's scale. 7917 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 7918 // Confidence: Confidence of this being a salient region. Range [0, 1]. 7919 Confidence float64 `json:"confidence,omitempty"` 7920 // ImportanceFraction: Fraction of importance of this salient region with 7921 // respect to the original image. 7922 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 7923 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 7924 // unconditionally include in API requests. By default, fields with empty or 7925 // default values are omitted from API requests. See 7926 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7927 // details. 7928 ForceSendFields []string `json:"-"` 7929 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 7930 // requests with the JSON null value. By default, fields with empty values are 7931 // omitted from API requests. See 7932 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7933 NullFields []string `json:"-"` 7934 } 7935 7936 func (s *GoogleCloudVisionV1p4beta1CropHint) MarshalJSON() ([]byte, error) { 7937 type NoMethod GoogleCloudVisionV1p4beta1CropHint 7938 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7939 } 7940 7941 func (s *GoogleCloudVisionV1p4beta1CropHint) UnmarshalJSON(data []byte) error { 7942 type NoMethod GoogleCloudVisionV1p4beta1CropHint 7943 var s1 struct { 7944 Confidence gensupport.JSONFloat64 `json:"confidence"` 7945 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 7946 *NoMethod 7947 } 7948 s1.NoMethod = (*NoMethod)(s) 7949 if err := json.Unmarshal(data, &s1); err != nil { 7950 return err 7951 } 7952 s.Confidence = float64(s1.Confidence) 7953 s.ImportanceFraction = float64(s1.ImportanceFraction) 7954 return nil 7955 } 7956 7957 // GoogleCloudVisionV1p4beta1CropHintsAnnotation: Set of crop hints that are 7958 // used to generate new crops when serving images. 7959 type GoogleCloudVisionV1p4beta1CropHintsAnnotation struct { 7960 // CropHints: Crop hint results. 7961 CropHints []*GoogleCloudVisionV1p4beta1CropHint `json:"cropHints,omitempty"` 7962 // ForceSendFields is a list of field names (e.g. "CropHints") to 7963 // unconditionally include in API requests. By default, fields with empty or 7964 // default values are omitted from API requests. See 7965 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7966 // details. 7967 ForceSendFields []string `json:"-"` 7968 // NullFields is a list of field names (e.g. "CropHints") to include in API 7969 // requests with the JSON null value. By default, fields with empty values are 7970 // omitted from API requests. See 7971 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7972 NullFields []string `json:"-"` 7973 } 7974 7975 func (s *GoogleCloudVisionV1p4beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 7976 type NoMethod GoogleCloudVisionV1p4beta1CropHintsAnnotation 7977 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 7978 } 7979 7980 // GoogleCloudVisionV1p4beta1DominantColorsAnnotation: Set of dominant colors 7981 // and their corresponding scores. 7982 type GoogleCloudVisionV1p4beta1DominantColorsAnnotation struct { 7983 // Colors: RGB color values with their score and pixel fraction. 7984 Colors []*GoogleCloudVisionV1p4beta1ColorInfo `json:"colors,omitempty"` 7985 // ForceSendFields is a list of field names (e.g. "Colors") to unconditionally 7986 // include in API requests. By default, fields with empty or default values are 7987 // omitted from API requests. See 7988 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 7989 // details. 7990 ForceSendFields []string `json:"-"` 7991 // NullFields is a list of field names (e.g. "Colors") to include in API 7992 // requests with the JSON null value. By default, fields with empty values are 7993 // omitted from API requests. See 7994 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 7995 NullFields []string `json:"-"` 7996 } 7997 7998 func (s *GoogleCloudVisionV1p4beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 7999 type NoMethod GoogleCloudVisionV1p4beta1DominantColorsAnnotation 8000 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8001 } 8002 8003 // GoogleCloudVisionV1p4beta1EntityAnnotation: Set of detected entity features. 8004 type GoogleCloudVisionV1p4beta1EntityAnnotation struct { 8005 // BoundingPoly: Image region to which this entity belongs. Not produced for 8006 // `LABEL_DETECTION` features. 8007 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 8008 // Confidence: **Deprecated. Use `score` instead.** The accuracy of the entity 8009 // detection in an image. For example, for an image in which the "Eiffel Tower" 8010 // entity is detected, this field represents the confidence that there is a 8011 // tower in the query image. Range [0, 1]. 8012 Confidence float64 `json:"confidence,omitempty"` 8013 // Description: Entity textual description, expressed in its `locale` language. 8014 Description string `json:"description,omitempty"` 8015 // Locale: The language code for the locale in which the entity textual 8016 // `description` is expressed. 8017 Locale string `json:"locale,omitempty"` 8018 // Locations: The location information for the detected entity. Multiple 8019 // `LocationInfo` elements can be present because one location may indicate the 8020 // location of the scene in the image, and another location may indicate the 8021 // location of the place where the image was taken. Location information is 8022 // usually present for landmarks. 8023 Locations []*GoogleCloudVisionV1p4beta1LocationInfo `json:"locations,omitempty"` 8024 // Mid: Opaque entity ID. Some IDs may be available in Google Knowledge Graph 8025 // Search API (https://developers.google.com/knowledge-graph/). 8026 Mid string `json:"mid,omitempty"` 8027 // Properties: Some entities may have optional user-supplied `Property` 8028 // (name/value) fields, such a score or string that qualifies the entity. 8029 Properties []*GoogleCloudVisionV1p4beta1Property `json:"properties,omitempty"` 8030 // Score: Overall score of the result. Range [0, 1]. 8031 Score float64 `json:"score,omitempty"` 8032 // Topicality: The relevancy of the ICA (Image Content Annotation) label to the 8033 // image. For example, the relevancy of "tower" is likely higher to an image 8034 // containing the detected "Eiffel Tower" than to an image containing a 8035 // detected distant towering building, even though the confidence that there is 8036 // a tower in each image may be the same. Range [0, 1]. 8037 Topicality float64 `json:"topicality,omitempty"` 8038 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 8039 // unconditionally include in API requests. By default, fields with empty or 8040 // default values are omitted from API requests. See 8041 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8042 // details. 8043 ForceSendFields []string `json:"-"` 8044 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 8045 // requests with the JSON null value. By default, fields with empty values are 8046 // omitted from API requests. See 8047 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8048 NullFields []string `json:"-"` 8049 } 8050 8051 func (s *GoogleCloudVisionV1p4beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 8052 type NoMethod GoogleCloudVisionV1p4beta1EntityAnnotation 8053 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8054 } 8055 8056 func (s *GoogleCloudVisionV1p4beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 8057 type NoMethod GoogleCloudVisionV1p4beta1EntityAnnotation 8058 var s1 struct { 8059 Confidence gensupport.JSONFloat64 `json:"confidence"` 8060 Score gensupport.JSONFloat64 `json:"score"` 8061 Topicality gensupport.JSONFloat64 `json:"topicality"` 8062 *NoMethod 8063 } 8064 s1.NoMethod = (*NoMethod)(s) 8065 if err := json.Unmarshal(data, &s1); err != nil { 8066 return err 8067 } 8068 s.Confidence = float64(s1.Confidence) 8069 s.Score = float64(s1.Score) 8070 s.Topicality = float64(s1.Topicality) 8071 return nil 8072 } 8073 8074 // GoogleCloudVisionV1p4beta1FaceAnnotation: A face annotation object contains 8075 // the results of face detection. 8076 type GoogleCloudVisionV1p4beta1FaceAnnotation struct { 8077 // AngerLikelihood: Anger likelihood. 8078 // 8079 // Possible values: 8080 // "UNKNOWN" - Unknown likelihood. 8081 // "VERY_UNLIKELY" - It is very unlikely. 8082 // "UNLIKELY" - It is unlikely. 8083 // "POSSIBLE" - It is possible. 8084 // "LIKELY" - It is likely. 8085 // "VERY_LIKELY" - It is very likely. 8086 AngerLikelihood string `json:"angerLikelihood,omitempty"` 8087 // BlurredLikelihood: Blurred likelihood. 8088 // 8089 // Possible values: 8090 // "UNKNOWN" - Unknown likelihood. 8091 // "VERY_UNLIKELY" - It is very unlikely. 8092 // "UNLIKELY" - It is unlikely. 8093 // "POSSIBLE" - It is possible. 8094 // "LIKELY" - It is likely. 8095 // "VERY_LIKELY" - It is very likely. 8096 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 8097 // BoundingPoly: The bounding polygon around the face. The coordinates of the 8098 // bounding box are in the original image's scale. The bounding box is computed 8099 // to "frame" the face in accordance with human expectations. It is based on 8100 // the landmarker results. Note that one or more x and/or y coordinates may not 8101 // be generated in the `BoundingPoly` (the polygon will be unbounded) if only a 8102 // partial face appears in the image to be annotated. 8103 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 8104 // DetectionConfidence: Detection confidence. Range [0, 1]. 8105 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 8106 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter than the 8107 // `boundingPoly`, and encloses only the skin part of the face. Typically, it 8108 // is used to eliminate the face from any image analysis that detects the 8109 // "amount of skin" visible in an image. It is not based on the landmarker 8110 // results, only on the initial face detection, hence the fd (face detection) 8111 // prefix. 8112 FdBoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 8113 // HeadwearLikelihood: Headwear likelihood. 8114 // 8115 // Possible values: 8116 // "UNKNOWN" - Unknown likelihood. 8117 // "VERY_UNLIKELY" - It is very unlikely. 8118 // "UNLIKELY" - It is unlikely. 8119 // "POSSIBLE" - It is possible. 8120 // "LIKELY" - It is likely. 8121 // "VERY_LIKELY" - It is very likely. 8122 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 8123 // JoyLikelihood: Joy likelihood. 8124 // 8125 // Possible values: 8126 // "UNKNOWN" - Unknown likelihood. 8127 // "VERY_UNLIKELY" - It is very unlikely. 8128 // "UNLIKELY" - It is unlikely. 8129 // "POSSIBLE" - It is possible. 8130 // "LIKELY" - It is likely. 8131 // "VERY_LIKELY" - It is very likely. 8132 JoyLikelihood string `json:"joyLikelihood,omitempty"` 8133 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 8134 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 8135 // Landmarks: Detected face landmarks. 8136 Landmarks []*GoogleCloudVisionV1p4beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 8137 // PanAngle: Yaw angle, which indicates the leftward/rightward angle that the 8138 // face is pointing relative to the vertical plane perpendicular to the image. 8139 // Range [-180,180]. 8140 PanAngle float64 `json:"panAngle,omitempty"` 8141 // RecognitionResult: Additional recognition information. Only computed if 8142 // image_context.face_recognition_params is provided, **and** a match is found 8143 // to a Celebrity in the input CelebritySet. This field is sorted in order of 8144 // decreasing confidence values. 8145 RecognitionResult []*GoogleCloudVisionV1p4beta1FaceRecognitionResult `json:"recognitionResult,omitempty"` 8146 // RollAngle: Roll angle, which indicates the amount of 8147 // clockwise/anti-clockwise rotation of the face relative to the image vertical 8148 // about the axis perpendicular to the face. Range [-180,180]. 8149 RollAngle float64 `json:"rollAngle,omitempty"` 8150 // SorrowLikelihood: Sorrow likelihood. 8151 // 8152 // Possible values: 8153 // "UNKNOWN" - Unknown likelihood. 8154 // "VERY_UNLIKELY" - It is very unlikely. 8155 // "UNLIKELY" - It is unlikely. 8156 // "POSSIBLE" - It is possible. 8157 // "LIKELY" - It is likely. 8158 // "VERY_LIKELY" - It is very likely. 8159 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 8160 // SurpriseLikelihood: Surprise likelihood. 8161 // 8162 // Possible values: 8163 // "UNKNOWN" - Unknown likelihood. 8164 // "VERY_UNLIKELY" - It is very unlikely. 8165 // "UNLIKELY" - It is unlikely. 8166 // "POSSIBLE" - It is possible. 8167 // "LIKELY" - It is likely. 8168 // "VERY_LIKELY" - It is very likely. 8169 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 8170 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle that the 8171 // face is pointing relative to the image's horizontal plane. Range [-180,180]. 8172 TiltAngle float64 `json:"tiltAngle,omitempty"` 8173 // UnderExposedLikelihood: Under-exposed likelihood. 8174 // 8175 // Possible values: 8176 // "UNKNOWN" - Unknown likelihood. 8177 // "VERY_UNLIKELY" - It is very unlikely. 8178 // "UNLIKELY" - It is unlikely. 8179 // "POSSIBLE" - It is possible. 8180 // "LIKELY" - It is likely. 8181 // "VERY_LIKELY" - It is very likely. 8182 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 8183 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 8184 // unconditionally include in API requests. By default, fields with empty or 8185 // default values are omitted from API requests. See 8186 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8187 // details. 8188 ForceSendFields []string `json:"-"` 8189 // NullFields is a list of field names (e.g. "AngerLikelihood") to include in 8190 // API requests with the JSON null value. By default, fields with empty values 8191 // are omitted from API requests. See 8192 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8193 NullFields []string `json:"-"` 8194 } 8195 8196 func (s *GoogleCloudVisionV1p4beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 8197 type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotation 8198 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8199 } 8200 8201 func (s *GoogleCloudVisionV1p4beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 8202 type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotation 8203 var s1 struct { 8204 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 8205 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 8206 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 8207 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 8208 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 8209 *NoMethod 8210 } 8211 s1.NoMethod = (*NoMethod)(s) 8212 if err := json.Unmarshal(data, &s1); err != nil { 8213 return err 8214 } 8215 s.DetectionConfidence = float64(s1.DetectionConfidence) 8216 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 8217 s.PanAngle = float64(s1.PanAngle) 8218 s.RollAngle = float64(s1.RollAngle) 8219 s.TiltAngle = float64(s1.TiltAngle) 8220 return nil 8221 } 8222 8223 // GoogleCloudVisionV1p4beta1FaceAnnotationLandmark: A face-specific landmark 8224 // (for example, a face feature). 8225 type GoogleCloudVisionV1p4beta1FaceAnnotationLandmark struct { 8226 // Position: Face landmark position. 8227 Position *GoogleCloudVisionV1p4beta1Position `json:"position,omitempty"` 8228 // Type: Face landmark type. 8229 // 8230 // Possible values: 8231 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be filled. 8232 // "LEFT_EYE" - Left eye. 8233 // "RIGHT_EYE" - Right eye. 8234 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 8235 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 8236 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 8237 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 8238 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 8239 // "NOSE_TIP" - Nose tip. 8240 // "UPPER_LIP" - Upper lip. 8241 // "LOWER_LIP" - Lower lip. 8242 // "MOUTH_LEFT" - Mouth left. 8243 // "MOUTH_RIGHT" - Mouth right. 8244 // "MOUTH_CENTER" - Mouth center. 8245 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 8246 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 8247 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 8248 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 8249 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 8250 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 8251 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 8252 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 8253 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 8254 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 8255 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 8256 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 8257 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 8258 // "LEFT_EAR_TRAGION" - Left ear tragion. 8259 // "RIGHT_EAR_TRAGION" - Right ear tragion. 8260 // "LEFT_EYE_PUPIL" - Left eye pupil. 8261 // "RIGHT_EYE_PUPIL" - Right eye pupil. 8262 // "FOREHEAD_GLABELLA" - Forehead glabella. 8263 // "CHIN_GNATHION" - Chin gnathion. 8264 // "CHIN_LEFT_GONION" - Chin left gonion. 8265 // "CHIN_RIGHT_GONION" - Chin right gonion. 8266 // "LEFT_CHEEK_CENTER" - Left cheek center. 8267 // "RIGHT_CHEEK_CENTER" - Right cheek center. 8268 Type string `json:"type,omitempty"` 8269 // ForceSendFields is a list of field names (e.g. "Position") to 8270 // unconditionally include in API requests. By default, fields with empty or 8271 // default values are omitted from API requests. See 8272 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8273 // details. 8274 ForceSendFields []string `json:"-"` 8275 // NullFields is a list of field names (e.g. "Position") to include in API 8276 // requests with the JSON null value. By default, fields with empty values are 8277 // omitted from API requests. See 8278 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8279 NullFields []string `json:"-"` 8280 } 8281 8282 func (s *GoogleCloudVisionV1p4beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 8283 type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotationLandmark 8284 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8285 } 8286 8287 // GoogleCloudVisionV1p4beta1FaceRecognitionResult: Information about a face's 8288 // identity. 8289 type GoogleCloudVisionV1p4beta1FaceRecognitionResult struct { 8290 // Celebrity: The Celebrity that this face was matched to. 8291 Celebrity *GoogleCloudVisionV1p4beta1Celebrity `json:"celebrity,omitempty"` 8292 // Confidence: Recognition confidence. Range [0, 1]. 8293 Confidence float64 `json:"confidence,omitempty"` 8294 // ForceSendFields is a list of field names (e.g. "Celebrity") to 8295 // unconditionally include in API requests. By default, fields with empty or 8296 // default values are omitted from API requests. See 8297 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8298 // details. 8299 ForceSendFields []string `json:"-"` 8300 // NullFields is a list of field names (e.g. "Celebrity") to include in API 8301 // requests with the JSON null value. By default, fields with empty values are 8302 // omitted from API requests. See 8303 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8304 NullFields []string `json:"-"` 8305 } 8306 8307 func (s *GoogleCloudVisionV1p4beta1FaceRecognitionResult) MarshalJSON() ([]byte, error) { 8308 type NoMethod GoogleCloudVisionV1p4beta1FaceRecognitionResult 8309 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8310 } 8311 8312 func (s *GoogleCloudVisionV1p4beta1FaceRecognitionResult) UnmarshalJSON(data []byte) error { 8313 type NoMethod GoogleCloudVisionV1p4beta1FaceRecognitionResult 8314 var s1 struct { 8315 Confidence gensupport.JSONFloat64 `json:"confidence"` 8316 *NoMethod 8317 } 8318 s1.NoMethod = (*NoMethod)(s) 8319 if err := json.Unmarshal(data, &s1); err != nil { 8320 return err 8321 } 8322 s.Confidence = float64(s1.Confidence) 8323 return nil 8324 } 8325 8326 // GoogleCloudVisionV1p4beta1GcsDestination: The Google Cloud Storage location 8327 // where the output will be written to. 8328 type GoogleCloudVisionV1p4beta1GcsDestination struct { 8329 // Uri: Google Cloud Storage URI prefix where the results will be stored. 8330 // Results will be in JSON format and preceded by its corresponding input URI 8331 // prefix. This field can either represent a gcs file prefix or gcs directory. 8332 // In either case, the uri should be unique because in order to get all of the 8333 // output files, you will need to do a wildcard gcs search on the uri prefix 8334 // you provide. Examples: * File Prefix: gs://bucket-name/here/filenameprefix 8335 // The output files will be created in gs://bucket-name/here/ and the names of 8336 // the output files will begin with "filenameprefix". * Directory Prefix: 8337 // gs://bucket-name/some/location/ The output files will be created in 8338 // gs://bucket-name/some/location/ and the names of the output files could be 8339 // anything because there was no filename prefix specified. If multiple 8340 // outputs, each response is still AnnotateFileResponse, each of which contains 8341 // some subset of the full list of AnnotateImageResponse. Multiple outputs can 8342 // happen if, for example, the output JSON is too large and overflows into 8343 // multiple sharded files. 8344 Uri string `json:"uri,omitempty"` 8345 // ForceSendFields is a list of field names (e.g. "Uri") to unconditionally 8346 // include in API requests. By default, fields with empty or default values are 8347 // omitted from API requests. See 8348 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8349 // details. 8350 ForceSendFields []string `json:"-"` 8351 // NullFields is a list of field names (e.g. "Uri") to include in API requests 8352 // with the JSON null value. By default, fields with empty values are omitted 8353 // from API requests. See 8354 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8355 NullFields []string `json:"-"` 8356 } 8357 8358 func (s *GoogleCloudVisionV1p4beta1GcsDestination) MarshalJSON() ([]byte, error) { 8359 type NoMethod GoogleCloudVisionV1p4beta1GcsDestination 8360 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8361 } 8362 8363 // GoogleCloudVisionV1p4beta1GcsSource: The Google Cloud Storage location where 8364 // the input will be read from. 8365 type GoogleCloudVisionV1p4beta1GcsSource struct { 8366 // Uri: Google Cloud Storage URI for the input file. This must only be a Google 8367 // Cloud Storage object. Wildcards are not currently supported. 8368 Uri string `json:"uri,omitempty"` 8369 // ForceSendFields is a list of field names (e.g. "Uri") to unconditionally 8370 // include in API requests. By default, fields with empty or default values are 8371 // omitted from API requests. See 8372 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8373 // details. 8374 ForceSendFields []string `json:"-"` 8375 // NullFields is a list of field names (e.g. "Uri") to include in API requests 8376 // with the JSON null value. By default, fields with empty values are omitted 8377 // from API requests. See 8378 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8379 NullFields []string `json:"-"` 8380 } 8381 8382 func (s *GoogleCloudVisionV1p4beta1GcsSource) MarshalJSON() ([]byte, error) { 8383 type NoMethod GoogleCloudVisionV1p4beta1GcsSource 8384 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8385 } 8386 8387 // GoogleCloudVisionV1p4beta1ImageAnnotationContext: If an image was produced 8388 // from a file (e.g. a PDF), this message gives information about the source of 8389 // that image. 8390 type GoogleCloudVisionV1p4beta1ImageAnnotationContext struct { 8391 // PageNumber: If the file was a PDF or TIFF, this field gives the page number 8392 // within the file used to produce the image. 8393 PageNumber int64 `json:"pageNumber,omitempty"` 8394 // Uri: The URI of the file used to produce the image. 8395 Uri string `json:"uri,omitempty"` 8396 // ForceSendFields is a list of field names (e.g. "PageNumber") to 8397 // unconditionally include in API requests. By default, fields with empty or 8398 // default values are omitted from API requests. See 8399 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8400 // details. 8401 ForceSendFields []string `json:"-"` 8402 // NullFields is a list of field names (e.g. "PageNumber") to include in API 8403 // requests with the JSON null value. By default, fields with empty values are 8404 // omitted from API requests. See 8405 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8406 NullFields []string `json:"-"` 8407 } 8408 8409 func (s *GoogleCloudVisionV1p4beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 8410 type NoMethod GoogleCloudVisionV1p4beta1ImageAnnotationContext 8411 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8412 } 8413 8414 // GoogleCloudVisionV1p4beta1ImageProperties: Stores image properties, such as 8415 // dominant colors. 8416 type GoogleCloudVisionV1p4beta1ImageProperties struct { 8417 // DominantColors: If present, dominant colors completed successfully. 8418 DominantColors *GoogleCloudVisionV1p4beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 8419 // ForceSendFields is a list of field names (e.g. "DominantColors") to 8420 // unconditionally include in API requests. By default, fields with empty or 8421 // default values are omitted from API requests. See 8422 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8423 // details. 8424 ForceSendFields []string `json:"-"` 8425 // NullFields is a list of field names (e.g. "DominantColors") to include in 8426 // API requests with the JSON null value. By default, fields with empty values 8427 // are omitted from API requests. See 8428 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8429 NullFields []string `json:"-"` 8430 } 8431 8432 func (s *GoogleCloudVisionV1p4beta1ImageProperties) MarshalJSON() ([]byte, error) { 8433 type NoMethod GoogleCloudVisionV1p4beta1ImageProperties 8434 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8435 } 8436 8437 // GoogleCloudVisionV1p4beta1ImportProductSetsResponse: Response message for 8438 // the `ImportProductSets` method. This message is returned by the 8439 // google.longrunning.Operations.GetOperation method in the returned 8440 // google.longrunning.Operation.response field. 8441 type GoogleCloudVisionV1p4beta1ImportProductSetsResponse struct { 8442 // ReferenceImages: The list of reference_images that are imported 8443 // successfully. 8444 ReferenceImages []*GoogleCloudVisionV1p4beta1ReferenceImage `json:"referenceImages,omitempty"` 8445 // Statuses: The rpc status for each ImportProductSet request, including both 8446 // successes and errors. The number of statuses here matches the number of 8447 // lines in the csv file, and statuses[i] stores the success or failure status 8448 // of processing the i-th line of the csv, starting from line 0. 8449 Statuses []*Status `json:"statuses,omitempty"` 8450 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 8451 // unconditionally include in API requests. By default, fields with empty or 8452 // default values are omitted from API requests. See 8453 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8454 // details. 8455 ForceSendFields []string `json:"-"` 8456 // NullFields is a list of field names (e.g. "ReferenceImages") to include in 8457 // API requests with the JSON null value. By default, fields with empty values 8458 // are omitted from API requests. See 8459 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8460 NullFields []string `json:"-"` 8461 } 8462 8463 func (s *GoogleCloudVisionV1p4beta1ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 8464 type NoMethod GoogleCloudVisionV1p4beta1ImportProductSetsResponse 8465 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8466 } 8467 8468 // GoogleCloudVisionV1p4beta1InputConfig: The desired input location and 8469 // metadata. 8470 type GoogleCloudVisionV1p4beta1InputConfig struct { 8471 // Content: File content, represented as a stream of bytes. Note: As with all 8472 // `bytes` fields, protobuffers use a pure binary representation, whereas JSON 8473 // representations use base64. Currently, this field only works for 8474 // BatchAnnotateFiles requests. It does not work for AsyncBatchAnnotateFiles 8475 // requests. 8476 Content string `json:"content,omitempty"` 8477 // GcsSource: The Google Cloud Storage location to read the input from. 8478 GcsSource *GoogleCloudVisionV1p4beta1GcsSource `json:"gcsSource,omitempty"` 8479 // MimeType: The type of the file. Currently only "application/pdf", 8480 // "image/tiff" and "image/gif" are supported. Wildcards are not supported. 8481 MimeType string `json:"mimeType,omitempty"` 8482 // ForceSendFields is a list of field names (e.g. "Content") to unconditionally 8483 // include in API requests. By default, fields with empty or default values are 8484 // omitted from API requests. See 8485 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8486 // details. 8487 ForceSendFields []string `json:"-"` 8488 // NullFields is a list of field names (e.g. "Content") to include in API 8489 // requests with the JSON null value. By default, fields with empty values are 8490 // omitted from API requests. See 8491 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8492 NullFields []string `json:"-"` 8493 } 8494 8495 func (s *GoogleCloudVisionV1p4beta1InputConfig) MarshalJSON() ([]byte, error) { 8496 type NoMethod GoogleCloudVisionV1p4beta1InputConfig 8497 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8498 } 8499 8500 // GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation: Set of detected objects 8501 // with bounding boxes. 8502 type GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation struct { 8503 // BoundingPoly: Image region to which this object belongs. This must be 8504 // populated. 8505 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 8506 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For 8507 // more information, see 8508 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 8509 LanguageCode string `json:"languageCode,omitempty"` 8510 // Mid: Object ID that should align with EntityAnnotation mid. 8511 Mid string `json:"mid,omitempty"` 8512 // Name: Object name, expressed in its `language_code` language. 8513 Name string `json:"name,omitempty"` 8514 // Score: Score of the result. Range [0, 1]. 8515 Score float64 `json:"score,omitempty"` 8516 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 8517 // unconditionally include in API requests. By default, fields with empty or 8518 // default values are omitted from API requests. See 8519 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8520 // details. 8521 ForceSendFields []string `json:"-"` 8522 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 8523 // requests with the JSON null value. By default, fields with empty values are 8524 // omitted from API requests. See 8525 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8526 NullFields []string `json:"-"` 8527 } 8528 8529 func (s *GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 8530 type NoMethod GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation 8531 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8532 } 8533 8534 func (s *GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 8535 type NoMethod GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation 8536 var s1 struct { 8537 Score gensupport.JSONFloat64 `json:"score"` 8538 *NoMethod 8539 } 8540 s1.NoMethod = (*NoMethod)(s) 8541 if err := json.Unmarshal(data, &s1); err != nil { 8542 return err 8543 } 8544 s.Score = float64(s1.Score) 8545 return nil 8546 } 8547 8548 // GoogleCloudVisionV1p4beta1LocationInfo: Detected entity location 8549 // information. 8550 type GoogleCloudVisionV1p4beta1LocationInfo struct { 8551 // LatLng: lat/long location coordinates. 8552 LatLng *LatLng `json:"latLng,omitempty"` 8553 // ForceSendFields is a list of field names (e.g. "LatLng") to unconditionally 8554 // include in API requests. By default, fields with empty or default values are 8555 // omitted from API requests. See 8556 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8557 // details. 8558 ForceSendFields []string `json:"-"` 8559 // NullFields is a list of field names (e.g. "LatLng") to include in API 8560 // requests with the JSON null value. By default, fields with empty values are 8561 // omitted from API requests. See 8562 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8563 NullFields []string `json:"-"` 8564 } 8565 8566 func (s *GoogleCloudVisionV1p4beta1LocationInfo) MarshalJSON() ([]byte, error) { 8567 type NoMethod GoogleCloudVisionV1p4beta1LocationInfo 8568 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8569 } 8570 8571 // GoogleCloudVisionV1p4beta1NormalizedVertex: A vertex represents a 2D point 8572 // in the image. NOTE: the normalized vertex coordinates are relative to the 8573 // original image and range from 0 to 1. 8574 type GoogleCloudVisionV1p4beta1NormalizedVertex struct { 8575 // X: X coordinate. 8576 X float64 `json:"x,omitempty"` 8577 // Y: Y coordinate. 8578 Y float64 `json:"y,omitempty"` 8579 // ForceSendFields is a list of field names (e.g. "X") to unconditionally 8580 // include in API requests. By default, fields with empty or default values are 8581 // omitted from API requests. See 8582 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8583 // details. 8584 ForceSendFields []string `json:"-"` 8585 // NullFields is a list of field names (e.g. "X") to include in API requests 8586 // with the JSON null value. By default, fields with empty values are omitted 8587 // from API requests. See 8588 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8589 NullFields []string `json:"-"` 8590 } 8591 8592 func (s *GoogleCloudVisionV1p4beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 8593 type NoMethod GoogleCloudVisionV1p4beta1NormalizedVertex 8594 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8595 } 8596 8597 func (s *GoogleCloudVisionV1p4beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 8598 type NoMethod GoogleCloudVisionV1p4beta1NormalizedVertex 8599 var s1 struct { 8600 X gensupport.JSONFloat64 `json:"x"` 8601 Y gensupport.JSONFloat64 `json:"y"` 8602 *NoMethod 8603 } 8604 s1.NoMethod = (*NoMethod)(s) 8605 if err := json.Unmarshal(data, &s1); err != nil { 8606 return err 8607 } 8608 s.X = float64(s1.X) 8609 s.Y = float64(s1.Y) 8610 return nil 8611 } 8612 8613 // GoogleCloudVisionV1p4beta1OperationMetadata: Contains metadata for the 8614 // BatchAnnotateImages operation. 8615 type GoogleCloudVisionV1p4beta1OperationMetadata struct { 8616 // CreateTime: The time when the batch request was received. 8617 CreateTime string `json:"createTime,omitempty"` 8618 // State: Current state of the batch operation. 8619 // 8620 // Possible values: 8621 // "STATE_UNSPECIFIED" - Invalid. 8622 // "CREATED" - Request is received. 8623 // "RUNNING" - Request is actively being processed. 8624 // "DONE" - The batch processing is done. 8625 // "CANCELLED" - The batch processing was cancelled. 8626 State string `json:"state,omitempty"` 8627 // UpdateTime: The time when the operation result was last updated. 8628 UpdateTime string `json:"updateTime,omitempty"` 8629 // ForceSendFields is a list of field names (e.g. "CreateTime") to 8630 // unconditionally include in API requests. By default, fields with empty or 8631 // default values are omitted from API requests. See 8632 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8633 // details. 8634 ForceSendFields []string `json:"-"` 8635 // NullFields is a list of field names (e.g. "CreateTime") to include in API 8636 // requests with the JSON null value. By default, fields with empty values are 8637 // omitted from API requests. See 8638 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8639 NullFields []string `json:"-"` 8640 } 8641 8642 func (s *GoogleCloudVisionV1p4beta1OperationMetadata) MarshalJSON() ([]byte, error) { 8643 type NoMethod GoogleCloudVisionV1p4beta1OperationMetadata 8644 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8645 } 8646 8647 // GoogleCloudVisionV1p4beta1OutputConfig: The desired output location and 8648 // metadata. 8649 type GoogleCloudVisionV1p4beta1OutputConfig struct { 8650 // BatchSize: The max number of response protos to put into each output JSON 8651 // file on Google Cloud Storage. The valid range is [1, 100]. If not specified, 8652 // the default value is 20. For example, for one pdf file with 100 pages, 100 8653 // response protos will be generated. If `batch_size` = 20, then 5 json files 8654 // each containing 20 response protos will be written under the prefix 8655 // `gcs_destination`.`uri`. Currently, batch_size only applies to 8656 // GcsDestination, with potential future support for other output 8657 // configurations. 8658 BatchSize int64 `json:"batchSize,omitempty"` 8659 // GcsDestination: The Google Cloud Storage location to write the output(s) to. 8660 GcsDestination *GoogleCloudVisionV1p4beta1GcsDestination `json:"gcsDestination,omitempty"` 8661 // ForceSendFields is a list of field names (e.g. "BatchSize") to 8662 // unconditionally include in API requests. By default, fields with empty or 8663 // default values are omitted from API requests. See 8664 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8665 // details. 8666 ForceSendFields []string `json:"-"` 8667 // NullFields is a list of field names (e.g. "BatchSize") to include in API 8668 // requests with the JSON null value. By default, fields with empty values are 8669 // omitted from API requests. See 8670 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8671 NullFields []string `json:"-"` 8672 } 8673 8674 func (s *GoogleCloudVisionV1p4beta1OutputConfig) MarshalJSON() ([]byte, error) { 8675 type NoMethod GoogleCloudVisionV1p4beta1OutputConfig 8676 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8677 } 8678 8679 // GoogleCloudVisionV1p4beta1Page: Detected page from OCR. 8680 type GoogleCloudVisionV1p4beta1Page struct { 8681 // Blocks: List of blocks of text, images etc on this page. 8682 Blocks []*GoogleCloudVisionV1p4beta1Block `json:"blocks,omitempty"` 8683 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 8684 Confidence float64 `json:"confidence,omitempty"` 8685 // Height: Page height. For PDFs the unit is points. For images (including 8686 // TIFFs) the unit is pixels. 8687 Height int64 `json:"height,omitempty"` 8688 // Property: Additional information detected on the page. 8689 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 8690 // Width: Page width. For PDFs the unit is points. For images (including TIFFs) 8691 // the unit is pixels. 8692 Width int64 `json:"width,omitempty"` 8693 // ForceSendFields is a list of field names (e.g. "Blocks") to unconditionally 8694 // include in API requests. By default, fields with empty or default values are 8695 // omitted from API requests. See 8696 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8697 // details. 8698 ForceSendFields []string `json:"-"` 8699 // NullFields is a list of field names (e.g. "Blocks") to include in API 8700 // requests with the JSON null value. By default, fields with empty values are 8701 // omitted from API requests. See 8702 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8703 NullFields []string `json:"-"` 8704 } 8705 8706 func (s *GoogleCloudVisionV1p4beta1Page) MarshalJSON() ([]byte, error) { 8707 type NoMethod GoogleCloudVisionV1p4beta1Page 8708 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8709 } 8710 8711 func (s *GoogleCloudVisionV1p4beta1Page) UnmarshalJSON(data []byte) error { 8712 type NoMethod GoogleCloudVisionV1p4beta1Page 8713 var s1 struct { 8714 Confidence gensupport.JSONFloat64 `json:"confidence"` 8715 *NoMethod 8716 } 8717 s1.NoMethod = (*NoMethod)(s) 8718 if err := json.Unmarshal(data, &s1); err != nil { 8719 return err 8720 } 8721 s.Confidence = float64(s1.Confidence) 8722 return nil 8723 } 8724 8725 // GoogleCloudVisionV1p4beta1Paragraph: Structural unit of text representing a 8726 // number of words in certain order. 8727 type GoogleCloudVisionV1p4beta1Paragraph struct { 8728 // BoundingBox: The bounding box for the paragraph. The vertices are in the 8729 // order of top-left, top-right, bottom-right, bottom-left. When a rotation of 8730 // the bounding box is detected the rotation is represented as around the 8731 // top-left corner as defined when the text is read in the 'natural' 8732 // orientation. For example: * when the text is horizontal it might look like: 8733 // 0----1 | | 3----2 * when it's rotated 180 degrees around the top-left corner 8734 // it becomes: 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 8735 // 3). 8736 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 8737 // Confidence: Confidence of the OCR results for the paragraph. Range [0, 1]. 8738 Confidence float64 `json:"confidence,omitempty"` 8739 // Property: Additional information detected for the paragraph. 8740 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 8741 // Words: List of all words in this paragraph. 8742 Words []*GoogleCloudVisionV1p4beta1Word `json:"words,omitempty"` 8743 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 8744 // unconditionally include in API requests. By default, fields with empty or 8745 // default values are omitted from API requests. See 8746 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8747 // details. 8748 ForceSendFields []string `json:"-"` 8749 // NullFields is a list of field names (e.g. "BoundingBox") to include in API 8750 // requests with the JSON null value. By default, fields with empty values are 8751 // omitted from API requests. See 8752 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8753 NullFields []string `json:"-"` 8754 } 8755 8756 func (s *GoogleCloudVisionV1p4beta1Paragraph) MarshalJSON() ([]byte, error) { 8757 type NoMethod GoogleCloudVisionV1p4beta1Paragraph 8758 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8759 } 8760 8761 func (s *GoogleCloudVisionV1p4beta1Paragraph) UnmarshalJSON(data []byte) error { 8762 type NoMethod GoogleCloudVisionV1p4beta1Paragraph 8763 var s1 struct { 8764 Confidence gensupport.JSONFloat64 `json:"confidence"` 8765 *NoMethod 8766 } 8767 s1.NoMethod = (*NoMethod)(s) 8768 if err := json.Unmarshal(data, &s1); err != nil { 8769 return err 8770 } 8771 s.Confidence = float64(s1.Confidence) 8772 return nil 8773 } 8774 8775 // GoogleCloudVisionV1p4beta1Position: A 3D position in the image, used 8776 // primarily for Face detection landmarks. A valid Position must have both x 8777 // and y coordinates. The position coordinates are in the same scale as the 8778 // original image. 8779 type GoogleCloudVisionV1p4beta1Position struct { 8780 // X: X coordinate. 8781 X float64 `json:"x,omitempty"` 8782 // Y: Y coordinate. 8783 Y float64 `json:"y,omitempty"` 8784 // Z: Z coordinate (or depth). 8785 Z float64 `json:"z,omitempty"` 8786 // ForceSendFields is a list of field names (e.g. "X") to unconditionally 8787 // include in API requests. By default, fields with empty or default values are 8788 // omitted from API requests. See 8789 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8790 // details. 8791 ForceSendFields []string `json:"-"` 8792 // NullFields is a list of field names (e.g. "X") to include in API requests 8793 // with the JSON null value. By default, fields with empty values are omitted 8794 // from API requests. See 8795 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8796 NullFields []string `json:"-"` 8797 } 8798 8799 func (s *GoogleCloudVisionV1p4beta1Position) MarshalJSON() ([]byte, error) { 8800 type NoMethod GoogleCloudVisionV1p4beta1Position 8801 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8802 } 8803 8804 func (s *GoogleCloudVisionV1p4beta1Position) UnmarshalJSON(data []byte) error { 8805 type NoMethod GoogleCloudVisionV1p4beta1Position 8806 var s1 struct { 8807 X gensupport.JSONFloat64 `json:"x"` 8808 Y gensupport.JSONFloat64 `json:"y"` 8809 Z gensupport.JSONFloat64 `json:"z"` 8810 *NoMethod 8811 } 8812 s1.NoMethod = (*NoMethod)(s) 8813 if err := json.Unmarshal(data, &s1); err != nil { 8814 return err 8815 } 8816 s.X = float64(s1.X) 8817 s.Y = float64(s1.Y) 8818 s.Z = float64(s1.Z) 8819 return nil 8820 } 8821 8822 // GoogleCloudVisionV1p4beta1Product: A Product contains ReferenceImages. 8823 type GoogleCloudVisionV1p4beta1Product struct { 8824 // Description: User-provided metadata to be stored with this product. Must be 8825 // at most 4096 characters long. 8826 Description string `json:"description,omitempty"` 8827 // DisplayName: The user-provided name for this Product. Must not be empty. 8828 // Must be at most 4096 characters long. 8829 DisplayName string `json:"displayName,omitempty"` 8830 // Name: The resource name of the product. Format is: 8831 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is 8832 // ignored when creating a product. 8833 Name string `json:"name,omitempty"` 8834 // ProductCategory: Immutable. The category for the product identified by the 8835 // reference image. This should be one of "homegoods-v2", "apparel-v2", 8836 // "toys-v2", "packagedgoods-v1" or "general-v1". The legacy categories 8837 // "homegoods", "apparel", and "toys" are still supported, but these should not 8838 // be used for new products. 8839 ProductCategory string `json:"productCategory,omitempty"` 8840 // ProductLabels: Key-value pairs that can be attached to a product. At query 8841 // time, constraints can be specified based on the product_labels. Note that 8842 // integer values can be provided as strings, e.g. "1199". Only strings with 8843 // integer values can match a range-based restriction which is to be supported 8844 // soon. Multiple values can be assigned to the same key. One product may have 8845 // up to 500 product_labels. Notice that the total number of distinct 8846 // product_labels over all products in one ProductSet cannot exceed 1M, 8847 // otherwise the product search pipeline will refuse to work for that 8848 // ProductSet. 8849 ProductLabels []*GoogleCloudVisionV1p4beta1ProductKeyValue `json:"productLabels,omitempty"` 8850 // ForceSendFields is a list of field names (e.g. "Description") to 8851 // unconditionally include in API requests. By default, fields with empty or 8852 // default values are omitted from API requests. See 8853 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8854 // details. 8855 ForceSendFields []string `json:"-"` 8856 // NullFields is a list of field names (e.g. "Description") to include in API 8857 // requests with the JSON null value. By default, fields with empty values are 8858 // omitted from API requests. See 8859 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8860 NullFields []string `json:"-"` 8861 } 8862 8863 func (s *GoogleCloudVisionV1p4beta1Product) MarshalJSON() ([]byte, error) { 8864 type NoMethod GoogleCloudVisionV1p4beta1Product 8865 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8866 } 8867 8868 // GoogleCloudVisionV1p4beta1ProductKeyValue: A product label represented as a 8869 // key-value pair. 8870 type GoogleCloudVisionV1p4beta1ProductKeyValue struct { 8871 // Key: The key of the label attached to the product. Cannot be empty and 8872 // cannot exceed 128 bytes. 8873 Key string `json:"key,omitempty"` 8874 // Value: The value of the label attached to the product. Cannot be empty and 8875 // cannot exceed 128 bytes. 8876 Value string `json:"value,omitempty"` 8877 // ForceSendFields is a list of field names (e.g. "Key") to unconditionally 8878 // include in API requests. By default, fields with empty or default values are 8879 // omitted from API requests. See 8880 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8881 // details. 8882 ForceSendFields []string `json:"-"` 8883 // NullFields is a list of field names (e.g. "Key") to include in API requests 8884 // with the JSON null value. By default, fields with empty values are omitted 8885 // from API requests. See 8886 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8887 NullFields []string `json:"-"` 8888 } 8889 8890 func (s *GoogleCloudVisionV1p4beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 8891 type NoMethod GoogleCloudVisionV1p4beta1ProductKeyValue 8892 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8893 } 8894 8895 // GoogleCloudVisionV1p4beta1ProductSearchResults: Results for a product search 8896 // request. 8897 type GoogleCloudVisionV1p4beta1ProductSearchResults struct { 8898 // IndexTime: Timestamp of the index which provided these results. Products 8899 // added to the product set and products removed from the product set after 8900 // this time are not reflected in the current results. 8901 IndexTime string `json:"indexTime,omitempty"` 8902 // ProductGroupedResults: List of results grouped by products detected in the 8903 // query image. Each entry corresponds to one bounding polygon in the query 8904 // image, and contains the matching products specific to that region. There may 8905 // be duplicate product matches in the union of all the per-product results. 8906 ProductGroupedResults []*GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 8907 // Results: List of results, one for each product match. 8908 Results []*GoogleCloudVisionV1p4beta1ProductSearchResultsResult `json:"results,omitempty"` 8909 // ForceSendFields is a list of field names (e.g. "IndexTime") to 8910 // unconditionally include in API requests. By default, fields with empty or 8911 // default values are omitted from API requests. See 8912 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8913 // details. 8914 ForceSendFields []string `json:"-"` 8915 // NullFields is a list of field names (e.g. "IndexTime") to include in API 8916 // requests with the JSON null value. By default, fields with empty values are 8917 // omitted from API requests. See 8918 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8919 NullFields []string `json:"-"` 8920 } 8921 8922 func (s *GoogleCloudVisionV1p4beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 8923 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResults 8924 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8925 } 8926 8927 // GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult: Information 8928 // about the products similar to a single product in a query image. 8929 type GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult struct { 8930 // BoundingPoly: The bounding polygon around the product detected in the query 8931 // image. 8932 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 8933 // ObjectAnnotations: List of generic predictions for the object in the 8934 // bounding box. 8935 ObjectAnnotations []*GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation `json:"objectAnnotations,omitempty"` 8936 // Results: List of results, one for each product match. 8937 Results []*GoogleCloudVisionV1p4beta1ProductSearchResultsResult `json:"results,omitempty"` 8938 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 8939 // unconditionally include in API requests. By default, fields with empty or 8940 // default values are omitted from API requests. See 8941 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8942 // details. 8943 ForceSendFields []string `json:"-"` 8944 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 8945 // requests with the JSON null value. By default, fields with empty values are 8946 // omitted from API requests. See 8947 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8948 NullFields []string `json:"-"` 8949 } 8950 8951 func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 8952 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult 8953 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8954 } 8955 8956 // GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation: Prediction 8957 // for what the object in the bounding box is. 8958 type GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation struct { 8959 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For 8960 // more information, see 8961 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 8962 LanguageCode string `json:"languageCode,omitempty"` 8963 // Mid: Object ID that should align with EntityAnnotation mid. 8964 Mid string `json:"mid,omitempty"` 8965 // Name: Object name, expressed in its `language_code` language. 8966 Name string `json:"name,omitempty"` 8967 // Score: Score of the result. Range [0, 1]. 8968 Score float64 `json:"score,omitempty"` 8969 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 8970 // unconditionally include in API requests. By default, fields with empty or 8971 // default values are omitted from API requests. See 8972 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 8973 // details. 8974 ForceSendFields []string `json:"-"` 8975 // NullFields is a list of field names (e.g. "LanguageCode") to include in API 8976 // requests with the JSON null value. By default, fields with empty values are 8977 // omitted from API requests. See 8978 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 8979 NullFields []string `json:"-"` 8980 } 8981 8982 func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation) MarshalJSON() ([]byte, error) { 8983 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation 8984 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 8985 } 8986 8987 func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation) UnmarshalJSON(data []byte) error { 8988 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation 8989 var s1 struct { 8990 Score gensupport.JSONFloat64 `json:"score"` 8991 *NoMethod 8992 } 8993 s1.NoMethod = (*NoMethod)(s) 8994 if err := json.Unmarshal(data, &s1); err != nil { 8995 return err 8996 } 8997 s.Score = float64(s1.Score) 8998 return nil 8999 } 9000 9001 // GoogleCloudVisionV1p4beta1ProductSearchResultsResult: Information about a 9002 // product. 9003 type GoogleCloudVisionV1p4beta1ProductSearchResultsResult struct { 9004 // Image: The resource name of the image from the product that is the closest 9005 // match to the query. 9006 Image string `json:"image,omitempty"` 9007 // Product: The Product. 9008 Product *GoogleCloudVisionV1p4beta1Product `json:"product,omitempty"` 9009 // Score: A confidence level on the match, ranging from 0 (no confidence) to 1 9010 // (full confidence). 9011 Score float64 `json:"score,omitempty"` 9012 // ForceSendFields is a list of field names (e.g. "Image") to unconditionally 9013 // include in API requests. By default, fields with empty or default values are 9014 // omitted from API requests. See 9015 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9016 // details. 9017 ForceSendFields []string `json:"-"` 9018 // NullFields is a list of field names (e.g. "Image") to include in API 9019 // requests with the JSON null value. By default, fields with empty values are 9020 // omitted from API requests. See 9021 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9022 NullFields []string `json:"-"` 9023 } 9024 9025 func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 9026 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsResult 9027 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9028 } 9029 9030 func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 9031 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsResult 9032 var s1 struct { 9033 Score gensupport.JSONFloat64 `json:"score"` 9034 *NoMethod 9035 } 9036 s1.NoMethod = (*NoMethod)(s) 9037 if err := json.Unmarshal(data, &s1); err != nil { 9038 return err 9039 } 9040 s.Score = float64(s1.Score) 9041 return nil 9042 } 9043 9044 // GoogleCloudVisionV1p4beta1Property: A `Property` consists of a user-supplied 9045 // name/value pair. 9046 type GoogleCloudVisionV1p4beta1Property struct { 9047 // Name: Name of the property. 9048 Name string `json:"name,omitempty"` 9049 // Uint64Value: Value of numeric properties. 9050 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 9051 // Value: Value of the property. 9052 Value string `json:"value,omitempty"` 9053 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 9054 // include in API requests. By default, fields with empty or default values are 9055 // omitted from API requests. See 9056 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9057 // details. 9058 ForceSendFields []string `json:"-"` 9059 // NullFields is a list of field names (e.g. "Name") to include in API requests 9060 // with the JSON null value. By default, fields with empty values are omitted 9061 // from API requests. See 9062 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9063 NullFields []string `json:"-"` 9064 } 9065 9066 func (s *GoogleCloudVisionV1p4beta1Property) MarshalJSON() ([]byte, error) { 9067 type NoMethod GoogleCloudVisionV1p4beta1Property 9068 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9069 } 9070 9071 // GoogleCloudVisionV1p4beta1ReferenceImage: A `ReferenceImage` represents a 9072 // product image and its associated metadata, such as bounding boxes. 9073 type GoogleCloudVisionV1p4beta1ReferenceImage struct { 9074 // BoundingPolys: Optional. Bounding polygons around the areas of interest in 9075 // the reference image. If this field is empty, the system will try to detect 9076 // regions of interest. At most 10 bounding polygons will be used. The provided 9077 // shape is converted into a non-rotated rectangle. Once converted, the small 9078 // edge of the rectangle must be greater than or equal to 300 pixels. The 9079 // aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 is not). 9080 BoundingPolys []*GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPolys,omitempty"` 9081 // Name: The resource name of the reference image. Format is: 9082 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMA 9083 // GE_ID`. This field is ignored when creating a reference image. 9084 Name string `json:"name,omitempty"` 9085 // Uri: Required. The Google Cloud Storage URI of the reference image. The URI 9086 // must start with `gs://`. 9087 Uri string `json:"uri,omitempty"` 9088 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 9089 // unconditionally include in API requests. By default, fields with empty or 9090 // default values are omitted from API requests. See 9091 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9092 // details. 9093 ForceSendFields []string `json:"-"` 9094 // NullFields is a list of field names (e.g. "BoundingPolys") to include in API 9095 // requests with the JSON null value. By default, fields with empty values are 9096 // omitted from API requests. See 9097 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9098 NullFields []string `json:"-"` 9099 } 9100 9101 func (s *GoogleCloudVisionV1p4beta1ReferenceImage) MarshalJSON() ([]byte, error) { 9102 type NoMethod GoogleCloudVisionV1p4beta1ReferenceImage 9103 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9104 } 9105 9106 // GoogleCloudVisionV1p4beta1SafeSearchAnnotation: Set of features pertaining 9107 // to the image, computed by computer vision methods over safe-search verticals 9108 // (for example, adult, spoof, medical, violence). 9109 type GoogleCloudVisionV1p4beta1SafeSearchAnnotation struct { 9110 // Adult: Represents the adult content likelihood for the image. Adult content 9111 // may contain elements such as nudity, pornographic images or cartoons, or 9112 // sexual activities. 9113 // 9114 // Possible values: 9115 // "UNKNOWN" - Unknown likelihood. 9116 // "VERY_UNLIKELY" - It is very unlikely. 9117 // "UNLIKELY" - It is unlikely. 9118 // "POSSIBLE" - It is possible. 9119 // "LIKELY" - It is likely. 9120 // "VERY_LIKELY" - It is very likely. 9121 Adult string `json:"adult,omitempty"` 9122 // Medical: Likelihood that this is a medical image. 9123 // 9124 // Possible values: 9125 // "UNKNOWN" - Unknown likelihood. 9126 // "VERY_UNLIKELY" - It is very unlikely. 9127 // "UNLIKELY" - It is unlikely. 9128 // "POSSIBLE" - It is possible. 9129 // "LIKELY" - It is likely. 9130 // "VERY_LIKELY" - It is very likely. 9131 Medical string `json:"medical,omitempty"` 9132 // Racy: Likelihood that the request image contains racy content. Racy content 9133 // may include (but is not limited to) skimpy or sheer clothing, strategically 9134 // covered nudity, lewd or provocative poses, or close-ups of sensitive body 9135 // areas. 9136 // 9137 // Possible values: 9138 // "UNKNOWN" - Unknown likelihood. 9139 // "VERY_UNLIKELY" - It is very unlikely. 9140 // "UNLIKELY" - It is unlikely. 9141 // "POSSIBLE" - It is possible. 9142 // "LIKELY" - It is likely. 9143 // "VERY_LIKELY" - It is very likely. 9144 Racy string `json:"racy,omitempty"` 9145 // Spoof: Spoof likelihood. The likelihood that an modification was made to the 9146 // image's canonical version to make it appear funny or offensive. 9147 // 9148 // Possible values: 9149 // "UNKNOWN" - Unknown likelihood. 9150 // "VERY_UNLIKELY" - It is very unlikely. 9151 // "UNLIKELY" - It is unlikely. 9152 // "POSSIBLE" - It is possible. 9153 // "LIKELY" - It is likely. 9154 // "VERY_LIKELY" - It is very likely. 9155 Spoof string `json:"spoof,omitempty"` 9156 // Violence: Likelihood that this image contains violent content. Violent 9157 // content may include death, serious harm, or injury to individuals or groups 9158 // of individuals. 9159 // 9160 // Possible values: 9161 // "UNKNOWN" - Unknown likelihood. 9162 // "VERY_UNLIKELY" - It is very unlikely. 9163 // "UNLIKELY" - It is unlikely. 9164 // "POSSIBLE" - It is possible. 9165 // "LIKELY" - It is likely. 9166 // "VERY_LIKELY" - It is very likely. 9167 Violence string `json:"violence,omitempty"` 9168 // ForceSendFields is a list of field names (e.g. "Adult") to unconditionally 9169 // include in API requests. By default, fields with empty or default values are 9170 // omitted from API requests. See 9171 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9172 // details. 9173 ForceSendFields []string `json:"-"` 9174 // NullFields is a list of field names (e.g. "Adult") to include in API 9175 // requests with the JSON null value. By default, fields with empty values are 9176 // omitted from API requests. See 9177 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9178 NullFields []string `json:"-"` 9179 } 9180 9181 func (s *GoogleCloudVisionV1p4beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 9182 type NoMethod GoogleCloudVisionV1p4beta1SafeSearchAnnotation 9183 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9184 } 9185 9186 // GoogleCloudVisionV1p4beta1Symbol: A single symbol representation. 9187 type GoogleCloudVisionV1p4beta1Symbol struct { 9188 // BoundingBox: The bounding box for the symbol. The vertices are in the order 9189 // of top-left, top-right, bottom-right, bottom-left. When a rotation of the 9190 // bounding box is detected the rotation is represented as around the top-left 9191 // corner as defined when the text is read in the 'natural' orientation. For 9192 // example: * when the text is horizontal it might look like: 0----1 | | 3----2 9193 // * when it's rotated 180 degrees around the top-left corner it becomes: 9194 // 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). 9195 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 9196 // Confidence: Confidence of the OCR results for the symbol. Range [0, 1]. 9197 Confidence float64 `json:"confidence,omitempty"` 9198 // Property: Additional information detected for the symbol. 9199 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 9200 // Text: The actual UTF-8 representation of the symbol. 9201 Text string `json:"text,omitempty"` 9202 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 9203 // unconditionally include in API requests. By default, fields with empty or 9204 // default values are omitted from API requests. See 9205 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9206 // details. 9207 ForceSendFields []string `json:"-"` 9208 // NullFields is a list of field names (e.g. "BoundingBox") to include in API 9209 // requests with the JSON null value. By default, fields with empty values are 9210 // omitted from API requests. See 9211 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9212 NullFields []string `json:"-"` 9213 } 9214 9215 func (s *GoogleCloudVisionV1p4beta1Symbol) MarshalJSON() ([]byte, error) { 9216 type NoMethod GoogleCloudVisionV1p4beta1Symbol 9217 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9218 } 9219 9220 func (s *GoogleCloudVisionV1p4beta1Symbol) UnmarshalJSON(data []byte) error { 9221 type NoMethod GoogleCloudVisionV1p4beta1Symbol 9222 var s1 struct { 9223 Confidence gensupport.JSONFloat64 `json:"confidence"` 9224 *NoMethod 9225 } 9226 s1.NoMethod = (*NoMethod)(s) 9227 if err := json.Unmarshal(data, &s1); err != nil { 9228 return err 9229 } 9230 s.Confidence = float64(s1.Confidence) 9231 return nil 9232 } 9233 9234 // GoogleCloudVisionV1p4beta1TextAnnotation: TextAnnotation contains a 9235 // structured representation of OCR extracted text. The hierarchy of an OCR 9236 // extracted text structure is like this: TextAnnotation -> Page -> Block -> 9237 // Paragraph -> Word -> Symbol Each structural component, starting from Page, 9238 // may further have their own properties. Properties describe detected 9239 // languages, breaks etc.. Please refer to the TextAnnotation.TextProperty 9240 // message definition below for more detail. 9241 type GoogleCloudVisionV1p4beta1TextAnnotation struct { 9242 // Pages: List of pages detected by OCR. 9243 Pages []*GoogleCloudVisionV1p4beta1Page `json:"pages,omitempty"` 9244 // Text: UTF-8 text detected on the pages. 9245 Text string `json:"text,omitempty"` 9246 // ForceSendFields is a list of field names (e.g. "Pages") to unconditionally 9247 // include in API requests. By default, fields with empty or default values are 9248 // omitted from API requests. See 9249 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9250 // details. 9251 ForceSendFields []string `json:"-"` 9252 // NullFields is a list of field names (e.g. "Pages") to include in API 9253 // requests with the JSON null value. By default, fields with empty values are 9254 // omitted from API requests. See 9255 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9256 NullFields []string `json:"-"` 9257 } 9258 9259 func (s *GoogleCloudVisionV1p4beta1TextAnnotation) MarshalJSON() ([]byte, error) { 9260 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotation 9261 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9262 } 9263 9264 // GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak: Detected start or end 9265 // of a structural component. 9266 type GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak struct { 9267 // IsPrefix: True if break prepends the element. 9268 IsPrefix bool `json:"isPrefix,omitempty"` 9269 // Type: Detected break type. 9270 // 9271 // Possible values: 9272 // "UNKNOWN" - Unknown break label type. 9273 // "SPACE" - Regular space. 9274 // "SURE_SPACE" - Sure space (very wide). 9275 // "EOL_SURE_SPACE" - Line-wrapping break. 9276 // "HYPHEN" - End-line hyphen that is not present in text; does not co-occur 9277 // with `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 9278 // "LINE_BREAK" - Line break that ends a paragraph. 9279 Type string `json:"type,omitempty"` 9280 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 9281 // unconditionally include in API requests. By default, fields with empty or 9282 // default values are omitted from API requests. See 9283 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9284 // details. 9285 ForceSendFields []string `json:"-"` 9286 // NullFields is a list of field names (e.g. "IsPrefix") to include in API 9287 // requests with the JSON null value. By default, fields with empty values are 9288 // omitted from API requests. See 9289 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9290 NullFields []string `json:"-"` 9291 } 9292 9293 func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 9294 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak 9295 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9296 } 9297 9298 // GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage: Detected language 9299 // for a structural component. 9300 type GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage struct { 9301 // Confidence: Confidence of detected language. Range [0, 1]. 9302 Confidence float64 `json:"confidence,omitempty"` 9303 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For 9304 // more information, see 9305 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 9306 LanguageCode string `json:"languageCode,omitempty"` 9307 // ForceSendFields is a list of field names (e.g. "Confidence") to 9308 // unconditionally include in API requests. By default, fields with empty or 9309 // default values are omitted from API requests. See 9310 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9311 // details. 9312 ForceSendFields []string `json:"-"` 9313 // NullFields is a list of field names (e.g. "Confidence") to include in API 9314 // requests with the JSON null value. By default, fields with empty values are 9315 // omitted from API requests. See 9316 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9317 NullFields []string `json:"-"` 9318 } 9319 9320 func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 9321 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage 9322 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9323 } 9324 9325 func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 9326 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage 9327 var s1 struct { 9328 Confidence gensupport.JSONFloat64 `json:"confidence"` 9329 *NoMethod 9330 } 9331 s1.NoMethod = (*NoMethod)(s) 9332 if err := json.Unmarshal(data, &s1); err != nil { 9333 return err 9334 } 9335 s.Confidence = float64(s1.Confidence) 9336 return nil 9337 } 9338 9339 // GoogleCloudVisionV1p4beta1TextAnnotationTextProperty: Additional information 9340 // detected on the structural component. 9341 type GoogleCloudVisionV1p4beta1TextAnnotationTextProperty struct { 9342 // DetectedBreak: Detected start or end of a text segment. 9343 DetectedBreak *GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 9344 // DetectedLanguages: A list of detected languages together with confidence. 9345 DetectedLanguages []*GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 9346 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 9347 // unconditionally include in API requests. By default, fields with empty or 9348 // default values are omitted from API requests. See 9349 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9350 // details. 9351 ForceSendFields []string `json:"-"` 9352 // NullFields is a list of field names (e.g. "DetectedBreak") to include in API 9353 // requests with the JSON null value. By default, fields with empty values are 9354 // omitted from API requests. See 9355 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9356 NullFields []string `json:"-"` 9357 } 9358 9359 func (s *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 9360 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationTextProperty 9361 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9362 } 9363 9364 // GoogleCloudVisionV1p4beta1Vertex: A vertex represents a 2D point in the 9365 // image. NOTE: the vertex coordinates are in the same scale as the original 9366 // image. 9367 type GoogleCloudVisionV1p4beta1Vertex struct { 9368 // X: X coordinate. 9369 X int64 `json:"x,omitempty"` 9370 // Y: Y coordinate. 9371 Y int64 `json:"y,omitempty"` 9372 // ForceSendFields is a list of field names (e.g. "X") to unconditionally 9373 // include in API requests. By default, fields with empty or default values are 9374 // omitted from API requests. See 9375 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9376 // details. 9377 ForceSendFields []string `json:"-"` 9378 // NullFields is a list of field names (e.g. "X") to include in API requests 9379 // with the JSON null value. By default, fields with empty values are omitted 9380 // from API requests. See 9381 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9382 NullFields []string `json:"-"` 9383 } 9384 9385 func (s *GoogleCloudVisionV1p4beta1Vertex) MarshalJSON() ([]byte, error) { 9386 type NoMethod GoogleCloudVisionV1p4beta1Vertex 9387 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9388 } 9389 9390 // GoogleCloudVisionV1p4beta1WebDetection: Relevant information for the image 9391 // from the Internet. 9392 type GoogleCloudVisionV1p4beta1WebDetection struct { 9393 // BestGuessLabels: The service's best guess as to the topic of the request 9394 // image. Inferred from similar images on the open web. 9395 BestGuessLabels []*GoogleCloudVisionV1p4beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 9396 // FullMatchingImages: Fully matching images from the Internet. Can include 9397 // resized copies of the query image. 9398 FullMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 9399 // PagesWithMatchingImages: Web pages containing the matching images from the 9400 // Internet. 9401 PagesWithMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 9402 // PartialMatchingImages: Partial matching images from the Internet. Those 9403 // images are similar enough to share some key-point features. For example an 9404 // original image will likely have partial matching for its crops. 9405 PartialMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 9406 // VisuallySimilarImages: The visually similar image results. 9407 VisuallySimilarImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 9408 // WebEntities: Deduced entities from similar images on the Internet. 9409 WebEntities []*GoogleCloudVisionV1p4beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 9410 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 9411 // unconditionally include in API requests. By default, fields with empty or 9412 // default values are omitted from API requests. See 9413 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9414 // details. 9415 ForceSendFields []string `json:"-"` 9416 // NullFields is a list of field names (e.g. "BestGuessLabels") to include in 9417 // API requests with the JSON null value. By default, fields with empty values 9418 // are omitted from API requests. See 9419 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9420 NullFields []string `json:"-"` 9421 } 9422 9423 func (s *GoogleCloudVisionV1p4beta1WebDetection) MarshalJSON() ([]byte, error) { 9424 type NoMethod GoogleCloudVisionV1p4beta1WebDetection 9425 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9426 } 9427 9428 // GoogleCloudVisionV1p4beta1WebDetectionWebEntity: Entity deduced from similar 9429 // images on the Internet. 9430 type GoogleCloudVisionV1p4beta1WebDetectionWebEntity struct { 9431 // Description: Canonical description of the entity, in English. 9432 Description string `json:"description,omitempty"` 9433 // EntityId: Opaque entity ID. 9434 EntityId string `json:"entityId,omitempty"` 9435 // Score: Overall relevancy score for the entity. Not normalized and not 9436 // comparable across different image queries. 9437 Score float64 `json:"score,omitempty"` 9438 // ForceSendFields is a list of field names (e.g. "Description") to 9439 // unconditionally include in API requests. By default, fields with empty or 9440 // default values are omitted from API requests. See 9441 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9442 // details. 9443 ForceSendFields []string `json:"-"` 9444 // NullFields is a list of field names (e.g. "Description") to include in API 9445 // requests with the JSON null value. By default, fields with empty values are 9446 // omitted from API requests. See 9447 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9448 NullFields []string `json:"-"` 9449 } 9450 9451 func (s *GoogleCloudVisionV1p4beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 9452 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebEntity 9453 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9454 } 9455 9456 func (s *GoogleCloudVisionV1p4beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 9457 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebEntity 9458 var s1 struct { 9459 Score gensupport.JSONFloat64 `json:"score"` 9460 *NoMethod 9461 } 9462 s1.NoMethod = (*NoMethod)(s) 9463 if err := json.Unmarshal(data, &s1); err != nil { 9464 return err 9465 } 9466 s.Score = float64(s1.Score) 9467 return nil 9468 } 9469 9470 // GoogleCloudVisionV1p4beta1WebDetectionWebImage: Metadata for online images. 9471 type GoogleCloudVisionV1p4beta1WebDetectionWebImage struct { 9472 // Score: (Deprecated) Overall relevancy score for the image. 9473 Score float64 `json:"score,omitempty"` 9474 // Url: The result image URL. 9475 Url string `json:"url,omitempty"` 9476 // ForceSendFields is a list of field names (e.g. "Score") to unconditionally 9477 // include in API requests. By default, fields with empty or default values are 9478 // omitted from API requests. See 9479 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9480 // details. 9481 ForceSendFields []string `json:"-"` 9482 // NullFields is a list of field names (e.g. "Score") to include in API 9483 // requests with the JSON null value. By default, fields with empty values are 9484 // omitted from API requests. See 9485 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9486 NullFields []string `json:"-"` 9487 } 9488 9489 func (s *GoogleCloudVisionV1p4beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 9490 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebImage 9491 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9492 } 9493 9494 func (s *GoogleCloudVisionV1p4beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 9495 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebImage 9496 var s1 struct { 9497 Score gensupport.JSONFloat64 `json:"score"` 9498 *NoMethod 9499 } 9500 s1.NoMethod = (*NoMethod)(s) 9501 if err := json.Unmarshal(data, &s1); err != nil { 9502 return err 9503 } 9504 s.Score = float64(s1.Score) 9505 return nil 9506 } 9507 9508 // GoogleCloudVisionV1p4beta1WebDetectionWebLabel: Label to provide extra 9509 // metadata for the web detection. 9510 type GoogleCloudVisionV1p4beta1WebDetectionWebLabel struct { 9511 // Label: Label for extra metadata. 9512 Label string `json:"label,omitempty"` 9513 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" or 9514 // "sr-Latn". For more information, see 9515 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 9516 LanguageCode string `json:"languageCode,omitempty"` 9517 // ForceSendFields is a list of field names (e.g. "Label") to unconditionally 9518 // include in API requests. By default, fields with empty or default values are 9519 // omitted from API requests. See 9520 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9521 // details. 9522 ForceSendFields []string `json:"-"` 9523 // NullFields is a list of field names (e.g. "Label") to include in API 9524 // requests with the JSON null value. By default, fields with empty values are 9525 // omitted from API requests. See 9526 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9527 NullFields []string `json:"-"` 9528 } 9529 9530 func (s *GoogleCloudVisionV1p4beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 9531 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebLabel 9532 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9533 } 9534 9535 // GoogleCloudVisionV1p4beta1WebDetectionWebPage: Metadata for web pages. 9536 type GoogleCloudVisionV1p4beta1WebDetectionWebPage struct { 9537 // FullMatchingImages: Fully matching images on the page. Can include resized 9538 // copies of the query image. 9539 FullMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 9540 // PageTitle: Title for the web page, may contain HTML markups. 9541 PageTitle string `json:"pageTitle,omitempty"` 9542 // PartialMatchingImages: Partial matching images on the page. Those images are 9543 // similar enough to share some key-point features. For example an original 9544 // image will likely have partial matching for its crops. 9545 PartialMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 9546 // Score: (Deprecated) Overall relevancy score for the web page. 9547 Score float64 `json:"score,omitempty"` 9548 // Url: The result web page URL. 9549 Url string `json:"url,omitempty"` 9550 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") to 9551 // unconditionally include in API requests. By default, fields with empty or 9552 // default values are omitted from API requests. See 9553 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9554 // details. 9555 ForceSendFields []string `json:"-"` 9556 // NullFields is a list of field names (e.g. "FullMatchingImages") to include 9557 // in API requests with the JSON null value. By default, fields with empty 9558 // values are omitted from API requests. See 9559 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9560 NullFields []string `json:"-"` 9561 } 9562 9563 func (s *GoogleCloudVisionV1p4beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 9564 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebPage 9565 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9566 } 9567 9568 func (s *GoogleCloudVisionV1p4beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 9569 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebPage 9570 var s1 struct { 9571 Score gensupport.JSONFloat64 `json:"score"` 9572 *NoMethod 9573 } 9574 s1.NoMethod = (*NoMethod)(s) 9575 if err := json.Unmarshal(data, &s1); err != nil { 9576 return err 9577 } 9578 s.Score = float64(s1.Score) 9579 return nil 9580 } 9581 9582 // GoogleCloudVisionV1p4beta1Word: A word representation. 9583 type GoogleCloudVisionV1p4beta1Word struct { 9584 // BoundingBox: The bounding box for the word. The vertices are in the order of 9585 // top-left, top-right, bottom-right, bottom-left. When a rotation of the 9586 // bounding box is detected the rotation is represented as around the top-left 9587 // corner as defined when the text is read in the 'natural' orientation. For 9588 // example: * when the text is horizontal it might look like: 0----1 | | 3----2 9589 // * when it's rotated 180 degrees around the top-left corner it becomes: 9590 // 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). 9591 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 9592 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 9593 Confidence float64 `json:"confidence,omitempty"` 9594 // Property: Additional information detected for the word. 9595 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 9596 // Symbols: List of symbols in the word. The order of the symbols follows the 9597 // natural reading order. 9598 Symbols []*GoogleCloudVisionV1p4beta1Symbol `json:"symbols,omitempty"` 9599 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 9600 // unconditionally include in API requests. By default, fields with empty or 9601 // default values are omitted from API requests. See 9602 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9603 // details. 9604 ForceSendFields []string `json:"-"` 9605 // NullFields is a list of field names (e.g. "BoundingBox") to include in API 9606 // requests with the JSON null value. By default, fields with empty values are 9607 // omitted from API requests. See 9608 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9609 NullFields []string `json:"-"` 9610 } 9611 9612 func (s *GoogleCloudVisionV1p4beta1Word) MarshalJSON() ([]byte, error) { 9613 type NoMethod GoogleCloudVisionV1p4beta1Word 9614 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9615 } 9616 9617 func (s *GoogleCloudVisionV1p4beta1Word) UnmarshalJSON(data []byte) error { 9618 type NoMethod GoogleCloudVisionV1p4beta1Word 9619 var s1 struct { 9620 Confidence gensupport.JSONFloat64 `json:"confidence"` 9621 *NoMethod 9622 } 9623 s1.NoMethod = (*NoMethod)(s) 9624 if err := json.Unmarshal(data, &s1); err != nil { 9625 return err 9626 } 9627 s.Confidence = float64(s1.Confidence) 9628 return nil 9629 } 9630 9631 // GroupedResult: Information about the products similar to a single product in 9632 // a query image. 9633 type GroupedResult struct { 9634 // BoundingPoly: The bounding polygon around the product detected in the query 9635 // image. 9636 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 9637 // ObjectAnnotations: List of generic predictions for the object in the 9638 // bounding box. 9639 ObjectAnnotations []*ObjectAnnotation `json:"objectAnnotations,omitempty"` 9640 // Results: List of results, one for each product match. 9641 Results []*Result `json:"results,omitempty"` 9642 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 9643 // unconditionally include in API requests. By default, fields with empty or 9644 // default values are omitted from API requests. See 9645 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9646 // details. 9647 ForceSendFields []string `json:"-"` 9648 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 9649 // requests with the JSON null value. By default, fields with empty values are 9650 // omitted from API requests. See 9651 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9652 NullFields []string `json:"-"` 9653 } 9654 9655 func (s *GroupedResult) MarshalJSON() ([]byte, error) { 9656 type NoMethod GroupedResult 9657 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9658 } 9659 9660 // ImageAnnotationContext: If an image was produced from a file (e.g. a PDF), 9661 // this message gives information about the source of that image. 9662 type ImageAnnotationContext struct { 9663 // PageNumber: If the file was a PDF or TIFF, this field gives the page number 9664 // within the file used to produce the image. 9665 PageNumber int64 `json:"pageNumber,omitempty"` 9666 // Uri: The URI of the file used to produce the image. 9667 Uri string `json:"uri,omitempty"` 9668 // ForceSendFields is a list of field names (e.g. "PageNumber") to 9669 // unconditionally include in API requests. By default, fields with empty or 9670 // default values are omitted from API requests. See 9671 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9672 // details. 9673 ForceSendFields []string `json:"-"` 9674 // NullFields is a list of field names (e.g. "PageNumber") to include in API 9675 // requests with the JSON null value. By default, fields with empty values are 9676 // omitted from API requests. See 9677 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9678 NullFields []string `json:"-"` 9679 } 9680 9681 func (s *ImageAnnotationContext) MarshalJSON() ([]byte, error) { 9682 type NoMethod ImageAnnotationContext 9683 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9684 } 9685 9686 // ImageProperties: Stores image properties, such as dominant colors. 9687 type ImageProperties struct { 9688 // DominantColors: If present, dominant colors completed successfully. 9689 DominantColors *DominantColorsAnnotation `json:"dominantColors,omitempty"` 9690 // ForceSendFields is a list of field names (e.g. "DominantColors") to 9691 // unconditionally include in API requests. By default, fields with empty or 9692 // default values are omitted from API requests. See 9693 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9694 // details. 9695 ForceSendFields []string `json:"-"` 9696 // NullFields is a list of field names (e.g. "DominantColors") to include in 9697 // API requests with the JSON null value. By default, fields with empty values 9698 // are omitted from API requests. See 9699 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9700 NullFields []string `json:"-"` 9701 } 9702 9703 func (s *ImageProperties) MarshalJSON() ([]byte, error) { 9704 type NoMethod ImageProperties 9705 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9706 } 9707 9708 // ImportProductSetsResponse: Response message for the `ImportProductSets` 9709 // method. This message is returned by the 9710 // google.longrunning.Operations.GetOperation method in the returned 9711 // google.longrunning.Operation.response field. 9712 type ImportProductSetsResponse struct { 9713 // ReferenceImages: The list of reference_images that are imported 9714 // successfully. 9715 ReferenceImages []*ReferenceImage `json:"referenceImages,omitempty"` 9716 // Statuses: The rpc status for each ImportProductSet request, including both 9717 // successes and errors. The number of statuses here matches the number of 9718 // lines in the csv file, and statuses[i] stores the success or failure status 9719 // of processing the i-th line of the csv, starting from line 0. 9720 Statuses []*Status `json:"statuses,omitempty"` 9721 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 9722 // unconditionally include in API requests. By default, fields with empty or 9723 // default values are omitted from API requests. See 9724 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9725 // details. 9726 ForceSendFields []string `json:"-"` 9727 // NullFields is a list of field names (e.g. "ReferenceImages") to include in 9728 // API requests with the JSON null value. By default, fields with empty values 9729 // are omitted from API requests. See 9730 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9731 NullFields []string `json:"-"` 9732 } 9733 9734 func (s *ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 9735 type NoMethod ImportProductSetsResponse 9736 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9737 } 9738 9739 // InputConfig: The desired input location and metadata. 9740 type InputConfig struct { 9741 // Content: File content, represented as a stream of bytes. Note: As with all 9742 // `bytes` fields, protobuffers use a pure binary representation, whereas JSON 9743 // representations use base64. Currently, this field only works for 9744 // BatchAnnotateFiles requests. It does not work for AsyncBatchAnnotateFiles 9745 // requests. 9746 Content string `json:"content,omitempty"` 9747 // GcsSource: The Google Cloud Storage location to read the input from. 9748 GcsSource *GcsSource `json:"gcsSource,omitempty"` 9749 // MimeType: The type of the file. Currently only "application/pdf", 9750 // "image/tiff" and "image/gif" are supported. Wildcards are not supported. 9751 MimeType string `json:"mimeType,omitempty"` 9752 // ForceSendFields is a list of field names (e.g. "Content") to unconditionally 9753 // include in API requests. By default, fields with empty or default values are 9754 // omitted from API requests. See 9755 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9756 // details. 9757 ForceSendFields []string `json:"-"` 9758 // NullFields is a list of field names (e.g. "Content") to include in API 9759 // requests with the JSON null value. By default, fields with empty values are 9760 // omitted from API requests. See 9761 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9762 NullFields []string `json:"-"` 9763 } 9764 9765 func (s *InputConfig) MarshalJSON() ([]byte, error) { 9766 type NoMethod InputConfig 9767 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9768 } 9769 9770 // KeyValue: A product label represented as a key-value pair. 9771 type KeyValue struct { 9772 // Key: The key of the label attached to the product. Cannot be empty and 9773 // cannot exceed 128 bytes. 9774 Key string `json:"key,omitempty"` 9775 // Value: The value of the label attached to the product. Cannot be empty and 9776 // cannot exceed 128 bytes. 9777 Value string `json:"value,omitempty"` 9778 // ForceSendFields is a list of field names (e.g. "Key") to unconditionally 9779 // include in API requests. By default, fields with empty or default values are 9780 // omitted from API requests. See 9781 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9782 // details. 9783 ForceSendFields []string `json:"-"` 9784 // NullFields is a list of field names (e.g. "Key") to include in API requests 9785 // with the JSON null value. By default, fields with empty values are omitted 9786 // from API requests. See 9787 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9788 NullFields []string `json:"-"` 9789 } 9790 9791 func (s *KeyValue) MarshalJSON() ([]byte, error) { 9792 type NoMethod KeyValue 9793 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9794 } 9795 9796 // Landmark: A face-specific landmark (for example, a face feature). 9797 type Landmark struct { 9798 // Position: Face landmark position. 9799 Position *Position `json:"position,omitempty"` 9800 // Type: Face landmark type. 9801 // 9802 // Possible values: 9803 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be filled. 9804 // "LEFT_EYE" - Left eye. 9805 // "RIGHT_EYE" - Right eye. 9806 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 9807 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 9808 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 9809 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 9810 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 9811 // "NOSE_TIP" - Nose tip. 9812 // "UPPER_LIP" - Upper lip. 9813 // "LOWER_LIP" - Lower lip. 9814 // "MOUTH_LEFT" - Mouth left. 9815 // "MOUTH_RIGHT" - Mouth right. 9816 // "MOUTH_CENTER" - Mouth center. 9817 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 9818 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 9819 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 9820 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 9821 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 9822 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 9823 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 9824 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 9825 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 9826 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 9827 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 9828 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 9829 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 9830 // "LEFT_EAR_TRAGION" - Left ear tragion. 9831 // "RIGHT_EAR_TRAGION" - Right ear tragion. 9832 // "LEFT_EYE_PUPIL" - Left eye pupil. 9833 // "RIGHT_EYE_PUPIL" - Right eye pupil. 9834 // "FOREHEAD_GLABELLA" - Forehead glabella. 9835 // "CHIN_GNATHION" - Chin gnathion. 9836 // "CHIN_LEFT_GONION" - Chin left gonion. 9837 // "CHIN_RIGHT_GONION" - Chin right gonion. 9838 // "LEFT_CHEEK_CENTER" - Left cheek center. 9839 // "RIGHT_CHEEK_CENTER" - Right cheek center. 9840 Type string `json:"type,omitempty"` 9841 // ForceSendFields is a list of field names (e.g. "Position") to 9842 // unconditionally include in API requests. By default, fields with empty or 9843 // default values are omitted from API requests. See 9844 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9845 // details. 9846 ForceSendFields []string `json:"-"` 9847 // NullFields is a list of field names (e.g. "Position") to include in API 9848 // requests with the JSON null value. By default, fields with empty values are 9849 // omitted from API requests. See 9850 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9851 NullFields []string `json:"-"` 9852 } 9853 9854 func (s *Landmark) MarshalJSON() ([]byte, error) { 9855 type NoMethod Landmark 9856 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9857 } 9858 9859 // LatLng: An object that represents a latitude/longitude pair. This is 9860 // expressed as a pair of doubles to represent degrees latitude and degrees 9861 // longitude. Unless specified otherwise, this object must conform to the WGS84 9862 // standard. Values must be within normalized ranges. 9863 type LatLng struct { 9864 // Latitude: The latitude in degrees. It must be in the range [-90.0, +90.0]. 9865 Latitude float64 `json:"latitude,omitempty"` 9866 // Longitude: The longitude in degrees. It must be in the range [-180.0, 9867 // +180.0]. 9868 Longitude float64 `json:"longitude,omitempty"` 9869 // ForceSendFields is a list of field names (e.g. "Latitude") to 9870 // unconditionally include in API requests. By default, fields with empty or 9871 // default values are omitted from API requests. See 9872 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9873 // details. 9874 ForceSendFields []string `json:"-"` 9875 // NullFields is a list of field names (e.g. "Latitude") to include in API 9876 // requests with the JSON null value. By default, fields with empty values are 9877 // omitted from API requests. See 9878 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9879 NullFields []string `json:"-"` 9880 } 9881 9882 func (s *LatLng) MarshalJSON() ([]byte, error) { 9883 type NoMethod LatLng 9884 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9885 } 9886 9887 func (s *LatLng) UnmarshalJSON(data []byte) error { 9888 type NoMethod LatLng 9889 var s1 struct { 9890 Latitude gensupport.JSONFloat64 `json:"latitude"` 9891 Longitude gensupport.JSONFloat64 `json:"longitude"` 9892 *NoMethod 9893 } 9894 s1.NoMethod = (*NoMethod)(s) 9895 if err := json.Unmarshal(data, &s1); err != nil { 9896 return err 9897 } 9898 s.Latitude = float64(s1.Latitude) 9899 s.Longitude = float64(s1.Longitude) 9900 return nil 9901 } 9902 9903 // LocalizedObjectAnnotation: Set of detected objects with bounding boxes. 9904 type LocalizedObjectAnnotation struct { 9905 // BoundingPoly: Image region to which this object belongs. This must be 9906 // populated. 9907 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 9908 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For 9909 // more information, see 9910 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 9911 LanguageCode string `json:"languageCode,omitempty"` 9912 // Mid: Object ID that should align with EntityAnnotation mid. 9913 Mid string `json:"mid,omitempty"` 9914 // Name: Object name, expressed in its `language_code` language. 9915 Name string `json:"name,omitempty"` 9916 // Score: Score of the result. Range [0, 1]. 9917 Score float64 `json:"score,omitempty"` 9918 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 9919 // unconditionally include in API requests. By default, fields with empty or 9920 // default values are omitted from API requests. See 9921 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9922 // details. 9923 ForceSendFields []string `json:"-"` 9924 // NullFields is a list of field names (e.g. "BoundingPoly") to include in API 9925 // requests with the JSON null value. By default, fields with empty values are 9926 // omitted from API requests. See 9927 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9928 NullFields []string `json:"-"` 9929 } 9930 9931 func (s *LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 9932 type NoMethod LocalizedObjectAnnotation 9933 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9934 } 9935 9936 func (s *LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 9937 type NoMethod LocalizedObjectAnnotation 9938 var s1 struct { 9939 Score gensupport.JSONFloat64 `json:"score"` 9940 *NoMethod 9941 } 9942 s1.NoMethod = (*NoMethod)(s) 9943 if err := json.Unmarshal(data, &s1); err != nil { 9944 return err 9945 } 9946 s.Score = float64(s1.Score) 9947 return nil 9948 } 9949 9950 // LocationInfo: Detected entity location information. 9951 type LocationInfo struct { 9952 // LatLng: lat/long location coordinates. 9953 LatLng *LatLng `json:"latLng,omitempty"` 9954 // ForceSendFields is a list of field names (e.g. "LatLng") to unconditionally 9955 // include in API requests. By default, fields with empty or default values are 9956 // omitted from API requests. See 9957 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9958 // details. 9959 ForceSendFields []string `json:"-"` 9960 // NullFields is a list of field names (e.g. "LatLng") to include in API 9961 // requests with the JSON null value. By default, fields with empty values are 9962 // omitted from API requests. See 9963 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9964 NullFields []string `json:"-"` 9965 } 9966 9967 func (s *LocationInfo) MarshalJSON() ([]byte, error) { 9968 type NoMethod LocationInfo 9969 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9970 } 9971 9972 // NormalizedVertex: A vertex represents a 2D point in the image. NOTE: the 9973 // normalized vertex coordinates are relative to the original image and range 9974 // from 0 to 1. 9975 type NormalizedVertex struct { 9976 // X: X coordinate. 9977 X float64 `json:"x,omitempty"` 9978 // Y: Y coordinate. 9979 Y float64 `json:"y,omitempty"` 9980 // ForceSendFields is a list of field names (e.g. "X") to unconditionally 9981 // include in API requests. By default, fields with empty or default values are 9982 // omitted from API requests. See 9983 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 9984 // details. 9985 ForceSendFields []string `json:"-"` 9986 // NullFields is a list of field names (e.g. "X") to include in API requests 9987 // with the JSON null value. By default, fields with empty values are omitted 9988 // from API requests. See 9989 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 9990 NullFields []string `json:"-"` 9991 } 9992 9993 func (s *NormalizedVertex) MarshalJSON() ([]byte, error) { 9994 type NoMethod NormalizedVertex 9995 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 9996 } 9997 9998 func (s *NormalizedVertex) UnmarshalJSON(data []byte) error { 9999 type NoMethod NormalizedVertex 10000 var s1 struct { 10001 X gensupport.JSONFloat64 `json:"x"` 10002 Y gensupport.JSONFloat64 `json:"y"` 10003 *NoMethod 10004 } 10005 s1.NoMethod = (*NoMethod)(s) 10006 if err := json.Unmarshal(data, &s1); err != nil { 10007 return err 10008 } 10009 s.X = float64(s1.X) 10010 s.Y = float64(s1.Y) 10011 return nil 10012 } 10013 10014 // ObjectAnnotation: Prediction for what the object in the bounding box is. 10015 type ObjectAnnotation struct { 10016 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". For 10017 // more information, see 10018 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 10019 LanguageCode string `json:"languageCode,omitempty"` 10020 // Mid: Object ID that should align with EntityAnnotation mid. 10021 Mid string `json:"mid,omitempty"` 10022 // Name: Object name, expressed in its `language_code` language. 10023 Name string `json:"name,omitempty"` 10024 // Score: Score of the result. Range [0, 1]. 10025 Score float64 `json:"score,omitempty"` 10026 // ForceSendFields is a list of field names (e.g. "LanguageCode") to 10027 // unconditionally include in API requests. By default, fields with empty or 10028 // default values are omitted from API requests. See 10029 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10030 // details. 10031 ForceSendFields []string `json:"-"` 10032 // NullFields is a list of field names (e.g. "LanguageCode") to include in API 10033 // requests with the JSON null value. By default, fields with empty values are 10034 // omitted from API requests. See 10035 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10036 NullFields []string `json:"-"` 10037 } 10038 10039 func (s *ObjectAnnotation) MarshalJSON() ([]byte, error) { 10040 type NoMethod ObjectAnnotation 10041 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10042 } 10043 10044 func (s *ObjectAnnotation) UnmarshalJSON(data []byte) error { 10045 type NoMethod ObjectAnnotation 10046 var s1 struct { 10047 Score gensupport.JSONFloat64 `json:"score"` 10048 *NoMethod 10049 } 10050 s1.NoMethod = (*NoMethod)(s) 10051 if err := json.Unmarshal(data, &s1); err != nil { 10052 return err 10053 } 10054 s.Score = float64(s1.Score) 10055 return nil 10056 } 10057 10058 // Operation: This resource represents a long-running operation that is the 10059 // result of a network API call. 10060 type Operation struct { 10061 // Done: If the value is `false`, it means the operation is still in progress. 10062 // If `true`, the operation is completed, and either `error` or `response` is 10063 // available. 10064 Done bool `json:"done,omitempty"` 10065 // Error: The error result of the operation in case of failure or cancellation. 10066 Error *Status `json:"error,omitempty"` 10067 // Metadata: Service-specific metadata associated with the operation. It 10068 // typically contains progress information and common metadata such as create 10069 // time. Some services might not provide such metadata. Any method that returns 10070 // a long-running operation should document the metadata type, if any. 10071 Metadata googleapi.RawMessage `json:"metadata,omitempty"` 10072 // Name: The server-assigned name, which is only unique within the same service 10073 // that originally returns it. If you use the default HTTP mapping, the `name` 10074 // should be a resource name ending with `operations/{unique_id}`. 10075 Name string `json:"name,omitempty"` 10076 // Response: The normal, successful response of the operation. If the original 10077 // method returns no data on success, such as `Delete`, the response is 10078 // `google.protobuf.Empty`. If the original method is standard 10079 // `Get`/`Create`/`Update`, the response should be the resource. For other 10080 // methods, the response should have the type `XxxResponse`, where `Xxx` is the 10081 // original method name. For example, if the original method name is 10082 // `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. 10083 Response googleapi.RawMessage `json:"response,omitempty"` 10084 10085 // ServerResponse contains the HTTP response code and headers from the server. 10086 googleapi.ServerResponse `json:"-"` 10087 // ForceSendFields is a list of field names (e.g. "Done") to unconditionally 10088 // include in API requests. By default, fields with empty or default values are 10089 // omitted from API requests. See 10090 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10091 // details. 10092 ForceSendFields []string `json:"-"` 10093 // NullFields is a list of field names (e.g. "Done") to include in API requests 10094 // with the JSON null value. By default, fields with empty values are omitted 10095 // from API requests. See 10096 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10097 NullFields []string `json:"-"` 10098 } 10099 10100 func (s *Operation) MarshalJSON() ([]byte, error) { 10101 type NoMethod Operation 10102 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10103 } 10104 10105 // OperationMetadata: Contains metadata for the BatchAnnotateImages operation. 10106 type OperationMetadata struct { 10107 // CreateTime: The time when the batch request was received. 10108 CreateTime string `json:"createTime,omitempty"` 10109 // State: Current state of the batch operation. 10110 // 10111 // Possible values: 10112 // "STATE_UNSPECIFIED" - Invalid. 10113 // "CREATED" - Request is received. 10114 // "RUNNING" - Request is actively being processed. 10115 // "DONE" - The batch processing is done. 10116 // "CANCELLED" - The batch processing was cancelled. 10117 State string `json:"state,omitempty"` 10118 // UpdateTime: The time when the operation result was last updated. 10119 UpdateTime string `json:"updateTime,omitempty"` 10120 // ForceSendFields is a list of field names (e.g. "CreateTime") to 10121 // unconditionally include in API requests. By default, fields with empty or 10122 // default values are omitted from API requests. See 10123 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10124 // details. 10125 ForceSendFields []string `json:"-"` 10126 // NullFields is a list of field names (e.g. "CreateTime") to include in API 10127 // requests with the JSON null value. By default, fields with empty values are 10128 // omitted from API requests. See 10129 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10130 NullFields []string `json:"-"` 10131 } 10132 10133 func (s *OperationMetadata) MarshalJSON() ([]byte, error) { 10134 type NoMethod OperationMetadata 10135 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10136 } 10137 10138 // OutputConfig: The desired output location and metadata. 10139 type OutputConfig struct { 10140 // BatchSize: The max number of response protos to put into each output JSON 10141 // file on Google Cloud Storage. The valid range is [1, 100]. If not specified, 10142 // the default value is 20. For example, for one pdf file with 100 pages, 100 10143 // response protos will be generated. If `batch_size` = 20, then 5 json files 10144 // each containing 20 response protos will be written under the prefix 10145 // `gcs_destination`.`uri`. Currently, batch_size only applies to 10146 // GcsDestination, with potential future support for other output 10147 // configurations. 10148 BatchSize int64 `json:"batchSize,omitempty"` 10149 // GcsDestination: The Google Cloud Storage location to write the output(s) to. 10150 GcsDestination *GcsDestination `json:"gcsDestination,omitempty"` 10151 // ForceSendFields is a list of field names (e.g. "BatchSize") to 10152 // unconditionally include in API requests. By default, fields with empty or 10153 // default values are omitted from API requests. See 10154 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10155 // details. 10156 ForceSendFields []string `json:"-"` 10157 // NullFields is a list of field names (e.g. "BatchSize") to include in API 10158 // requests with the JSON null value. By default, fields with empty values are 10159 // omitted from API requests. See 10160 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10161 NullFields []string `json:"-"` 10162 } 10163 10164 func (s *OutputConfig) MarshalJSON() ([]byte, error) { 10165 type NoMethod OutputConfig 10166 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10167 } 10168 10169 // Page: Detected page from OCR. 10170 type Page struct { 10171 // Blocks: List of blocks of text, images etc on this page. 10172 Blocks []*Block `json:"blocks,omitempty"` 10173 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 10174 Confidence float64 `json:"confidence,omitempty"` 10175 // Height: Page height. For PDFs the unit is points. For images (including 10176 // TIFFs) the unit is pixels. 10177 Height int64 `json:"height,omitempty"` 10178 // Property: Additional information detected on the page. 10179 Property *TextProperty `json:"property,omitempty"` 10180 // Width: Page width. For PDFs the unit is points. For images (including TIFFs) 10181 // the unit is pixels. 10182 Width int64 `json:"width,omitempty"` 10183 // ForceSendFields is a list of field names (e.g. "Blocks") to unconditionally 10184 // include in API requests. By default, fields with empty or default values are 10185 // omitted from API requests. See 10186 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10187 // details. 10188 ForceSendFields []string `json:"-"` 10189 // NullFields is a list of field names (e.g. "Blocks") to include in API 10190 // requests with the JSON null value. By default, fields with empty values are 10191 // omitted from API requests. See 10192 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10193 NullFields []string `json:"-"` 10194 } 10195 10196 func (s *Page) MarshalJSON() ([]byte, error) { 10197 type NoMethod Page 10198 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10199 } 10200 10201 func (s *Page) UnmarshalJSON(data []byte) error { 10202 type NoMethod Page 10203 var s1 struct { 10204 Confidence gensupport.JSONFloat64 `json:"confidence"` 10205 *NoMethod 10206 } 10207 s1.NoMethod = (*NoMethod)(s) 10208 if err := json.Unmarshal(data, &s1); err != nil { 10209 return err 10210 } 10211 s.Confidence = float64(s1.Confidence) 10212 return nil 10213 } 10214 10215 // Paragraph: Structural unit of text representing a number of words in certain 10216 // order. 10217 type Paragraph struct { 10218 // BoundingBox: The bounding box for the paragraph. The vertices are in the 10219 // order of top-left, top-right, bottom-right, bottom-left. When a rotation of 10220 // the bounding box is detected the rotation is represented as around the 10221 // top-left corner as defined when the text is read in the 'natural' 10222 // orientation. For example: * when the text is horizontal it might look like: 10223 // 0----1 | | 3----2 * when it's rotated 180 degrees around the top-left corner 10224 // it becomes: 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 10225 // 3). 10226 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 10227 // Confidence: Confidence of the OCR results for the paragraph. Range [0, 1]. 10228 Confidence float64 `json:"confidence,omitempty"` 10229 // Property: Additional information detected for the paragraph. 10230 Property *TextProperty `json:"property,omitempty"` 10231 // Words: List of all words in this paragraph. 10232 Words []*Word `json:"words,omitempty"` 10233 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 10234 // unconditionally include in API requests. By default, fields with empty or 10235 // default values are omitted from API requests. See 10236 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10237 // details. 10238 ForceSendFields []string `json:"-"` 10239 // NullFields is a list of field names (e.g. "BoundingBox") to include in API 10240 // requests with the JSON null value. By default, fields with empty values are 10241 // omitted from API requests. See 10242 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10243 NullFields []string `json:"-"` 10244 } 10245 10246 func (s *Paragraph) MarshalJSON() ([]byte, error) { 10247 type NoMethod Paragraph 10248 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10249 } 10250 10251 func (s *Paragraph) UnmarshalJSON(data []byte) error { 10252 type NoMethod Paragraph 10253 var s1 struct { 10254 Confidence gensupport.JSONFloat64 `json:"confidence"` 10255 *NoMethod 10256 } 10257 s1.NoMethod = (*NoMethod)(s) 10258 if err := json.Unmarshal(data, &s1); err != nil { 10259 return err 10260 } 10261 s.Confidence = float64(s1.Confidence) 10262 return nil 10263 } 10264 10265 // Position: A 3D position in the image, used primarily for Face detection 10266 // landmarks. A valid Position must have both x and y coordinates. The position 10267 // coordinates are in the same scale as the original image. 10268 type Position struct { 10269 // X: X coordinate. 10270 X float64 `json:"x,omitempty"` 10271 // Y: Y coordinate. 10272 Y float64 `json:"y,omitempty"` 10273 // Z: Z coordinate (or depth). 10274 Z float64 `json:"z,omitempty"` 10275 // ForceSendFields is a list of field names (e.g. "X") to unconditionally 10276 // include in API requests. By default, fields with empty or default values are 10277 // omitted from API requests. See 10278 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10279 // details. 10280 ForceSendFields []string `json:"-"` 10281 // NullFields is a list of field names (e.g. "X") to include in API requests 10282 // with the JSON null value. By default, fields with empty values are omitted 10283 // from API requests. See 10284 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10285 NullFields []string `json:"-"` 10286 } 10287 10288 func (s *Position) MarshalJSON() ([]byte, error) { 10289 type NoMethod Position 10290 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10291 } 10292 10293 func (s *Position) UnmarshalJSON(data []byte) error { 10294 type NoMethod Position 10295 var s1 struct { 10296 X gensupport.JSONFloat64 `json:"x"` 10297 Y gensupport.JSONFloat64 `json:"y"` 10298 Z gensupport.JSONFloat64 `json:"z"` 10299 *NoMethod 10300 } 10301 s1.NoMethod = (*NoMethod)(s) 10302 if err := json.Unmarshal(data, &s1); err != nil { 10303 return err 10304 } 10305 s.X = float64(s1.X) 10306 s.Y = float64(s1.Y) 10307 s.Z = float64(s1.Z) 10308 return nil 10309 } 10310 10311 // Product: A Product contains ReferenceImages. 10312 type Product struct { 10313 // Description: User-provided metadata to be stored with this product. Must be 10314 // at most 4096 characters long. 10315 Description string `json:"description,omitempty"` 10316 // DisplayName: The user-provided name for this Product. Must not be empty. 10317 // Must be at most 4096 characters long. 10318 DisplayName string `json:"displayName,omitempty"` 10319 // Name: The resource name of the product. Format is: 10320 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is 10321 // ignored when creating a product. 10322 Name string `json:"name,omitempty"` 10323 // ProductCategory: Immutable. The category for the product identified by the 10324 // reference image. This should be one of "homegoods-v2", "apparel-v2", 10325 // "toys-v2", "packagedgoods-v1" or "general-v1". The legacy categories 10326 // "homegoods", "apparel", and "toys" are still supported, but these should not 10327 // be used for new products. 10328 ProductCategory string `json:"productCategory,omitempty"` 10329 // ProductLabels: Key-value pairs that can be attached to a product. At query 10330 // time, constraints can be specified based on the product_labels. Note that 10331 // integer values can be provided as strings, e.g. "1199". Only strings with 10332 // integer values can match a range-based restriction which is to be supported 10333 // soon. Multiple values can be assigned to the same key. One product may have 10334 // up to 500 product_labels. Notice that the total number of distinct 10335 // product_labels over all products in one ProductSet cannot exceed 1M, 10336 // otherwise the product search pipeline will refuse to work for that 10337 // ProductSet. 10338 ProductLabels []*KeyValue `json:"productLabels,omitempty"` 10339 // ForceSendFields is a list of field names (e.g. "Description") to 10340 // unconditionally include in API requests. By default, fields with empty or 10341 // default values are omitted from API requests. See 10342 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10343 // details. 10344 ForceSendFields []string `json:"-"` 10345 // NullFields is a list of field names (e.g. "Description") to include in API 10346 // requests with the JSON null value. By default, fields with empty values are 10347 // omitted from API requests. See 10348 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10349 NullFields []string `json:"-"` 10350 } 10351 10352 func (s *Product) MarshalJSON() ([]byte, error) { 10353 type NoMethod Product 10354 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10355 } 10356 10357 // ProductSearchResults: Results for a product search request. 10358 type ProductSearchResults struct { 10359 // IndexTime: Timestamp of the index which provided these results. Products 10360 // added to the product set and products removed from the product set after 10361 // this time are not reflected in the current results. 10362 IndexTime string `json:"indexTime,omitempty"` 10363 // ProductGroupedResults: List of results grouped by products detected in the 10364 // query image. Each entry corresponds to one bounding polygon in the query 10365 // image, and contains the matching products specific to that region. There may 10366 // be duplicate product matches in the union of all the per-product results. 10367 ProductGroupedResults []*GroupedResult `json:"productGroupedResults,omitempty"` 10368 // Results: List of results, one for each product match. 10369 Results []*Result `json:"results,omitempty"` 10370 // ForceSendFields is a list of field names (e.g. "IndexTime") to 10371 // unconditionally include in API requests. By default, fields with empty or 10372 // default values are omitted from API requests. See 10373 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10374 // details. 10375 ForceSendFields []string `json:"-"` 10376 // NullFields is a list of field names (e.g. "IndexTime") to include in API 10377 // requests with the JSON null value. By default, fields with empty values are 10378 // omitted from API requests. See 10379 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10380 NullFields []string `json:"-"` 10381 } 10382 10383 func (s *ProductSearchResults) MarshalJSON() ([]byte, error) { 10384 type NoMethod ProductSearchResults 10385 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10386 } 10387 10388 // Property: A `Property` consists of a user-supplied name/value pair. 10389 type Property struct { 10390 // Name: Name of the property. 10391 Name string `json:"name,omitempty"` 10392 // Uint64Value: Value of numeric properties. 10393 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 10394 // Value: Value of the property. 10395 Value string `json:"value,omitempty"` 10396 // ForceSendFields is a list of field names (e.g. "Name") to unconditionally 10397 // include in API requests. By default, fields with empty or default values are 10398 // omitted from API requests. See 10399 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10400 // details. 10401 ForceSendFields []string `json:"-"` 10402 // NullFields is a list of field names (e.g. "Name") to include in API requests 10403 // with the JSON null value. By default, fields with empty values are omitted 10404 // from API requests. See 10405 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10406 NullFields []string `json:"-"` 10407 } 10408 10409 func (s *Property) MarshalJSON() ([]byte, error) { 10410 type NoMethod Property 10411 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10412 } 10413 10414 // ReferenceImage: A `ReferenceImage` represents a product image and its 10415 // associated metadata, such as bounding boxes. 10416 type ReferenceImage struct { 10417 // BoundingPolys: Optional. Bounding polygons around the areas of interest in 10418 // the reference image. If this field is empty, the system will try to detect 10419 // regions of interest. At most 10 bounding polygons will be used. The provided 10420 // shape is converted into a non-rotated rectangle. Once converted, the small 10421 // edge of the rectangle must be greater than or equal to 300 pixels. The 10422 // aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5 is not). 10423 BoundingPolys []*BoundingPoly `json:"boundingPolys,omitempty"` 10424 // Name: The resource name of the reference image. Format is: 10425 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMA 10426 // GE_ID`. This field is ignored when creating a reference image. 10427 Name string `json:"name,omitempty"` 10428 // Uri: Required. The Google Cloud Storage URI of the reference image. The URI 10429 // must start with `gs://`. 10430 Uri string `json:"uri,omitempty"` 10431 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 10432 // unconditionally include in API requests. By default, fields with empty or 10433 // default values are omitted from API requests. See 10434 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10435 // details. 10436 ForceSendFields []string `json:"-"` 10437 // NullFields is a list of field names (e.g. "BoundingPolys") to include in API 10438 // requests with the JSON null value. By default, fields with empty values are 10439 // omitted from API requests. See 10440 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10441 NullFields []string `json:"-"` 10442 } 10443 10444 func (s *ReferenceImage) MarshalJSON() ([]byte, error) { 10445 type NoMethod ReferenceImage 10446 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10447 } 10448 10449 // Result: Information about a product. 10450 type Result struct { 10451 // Image: The resource name of the image from the product that is the closest 10452 // match to the query. 10453 Image string `json:"image,omitempty"` 10454 // Product: The Product. 10455 Product *Product `json:"product,omitempty"` 10456 // Score: A confidence level on the match, ranging from 0 (no confidence) to 1 10457 // (full confidence). 10458 Score float64 `json:"score,omitempty"` 10459 // ForceSendFields is a list of field names (e.g. "Image") to unconditionally 10460 // include in API requests. By default, fields with empty or default values are 10461 // omitted from API requests. See 10462 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10463 // details. 10464 ForceSendFields []string `json:"-"` 10465 // NullFields is a list of field names (e.g. "Image") to include in API 10466 // requests with the JSON null value. By default, fields with empty values are 10467 // omitted from API requests. See 10468 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10469 NullFields []string `json:"-"` 10470 } 10471 10472 func (s *Result) MarshalJSON() ([]byte, error) { 10473 type NoMethod Result 10474 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10475 } 10476 10477 func (s *Result) UnmarshalJSON(data []byte) error { 10478 type NoMethod Result 10479 var s1 struct { 10480 Score gensupport.JSONFloat64 `json:"score"` 10481 *NoMethod 10482 } 10483 s1.NoMethod = (*NoMethod)(s) 10484 if err := json.Unmarshal(data, &s1); err != nil { 10485 return err 10486 } 10487 s.Score = float64(s1.Score) 10488 return nil 10489 } 10490 10491 // SafeSearchAnnotation: Set of features pertaining to the image, computed by 10492 // computer vision methods over safe-search verticals (for example, adult, 10493 // spoof, medical, violence). 10494 type SafeSearchAnnotation struct { 10495 // Adult: Represents the adult content likelihood for the image. Adult content 10496 // may contain elements such as nudity, pornographic images or cartoons, or 10497 // sexual activities. 10498 // 10499 // Possible values: 10500 // "UNKNOWN" - Unknown likelihood. 10501 // "VERY_UNLIKELY" - It is very unlikely. 10502 // "UNLIKELY" - It is unlikely. 10503 // "POSSIBLE" - It is possible. 10504 // "LIKELY" - It is likely. 10505 // "VERY_LIKELY" - It is very likely. 10506 Adult string `json:"adult,omitempty"` 10507 // Medical: Likelihood that this is a medical image. 10508 // 10509 // Possible values: 10510 // "UNKNOWN" - Unknown likelihood. 10511 // "VERY_UNLIKELY" - It is very unlikely. 10512 // "UNLIKELY" - It is unlikely. 10513 // "POSSIBLE" - It is possible. 10514 // "LIKELY" - It is likely. 10515 // "VERY_LIKELY" - It is very likely. 10516 Medical string `json:"medical,omitempty"` 10517 // Racy: Likelihood that the request image contains racy content. Racy content 10518 // may include (but is not limited to) skimpy or sheer clothing, strategically 10519 // covered nudity, lewd or provocative poses, or close-ups of sensitive body 10520 // areas. 10521 // 10522 // Possible values: 10523 // "UNKNOWN" - Unknown likelihood. 10524 // "VERY_UNLIKELY" - It is very unlikely. 10525 // "UNLIKELY" - It is unlikely. 10526 // "POSSIBLE" - It is possible. 10527 // "LIKELY" - It is likely. 10528 // "VERY_LIKELY" - It is very likely. 10529 Racy string `json:"racy,omitempty"` 10530 // Spoof: Spoof likelihood. The likelihood that an modification was made to the 10531 // image's canonical version to make it appear funny or offensive. 10532 // 10533 // Possible values: 10534 // "UNKNOWN" - Unknown likelihood. 10535 // "VERY_UNLIKELY" - It is very unlikely. 10536 // "UNLIKELY" - It is unlikely. 10537 // "POSSIBLE" - It is possible. 10538 // "LIKELY" - It is likely. 10539 // "VERY_LIKELY" - It is very likely. 10540 Spoof string `json:"spoof,omitempty"` 10541 // Violence: Likelihood that this image contains violent content. Violent 10542 // content may include death, serious harm, or injury to individuals or groups 10543 // of individuals. 10544 // 10545 // Possible values: 10546 // "UNKNOWN" - Unknown likelihood. 10547 // "VERY_UNLIKELY" - It is very unlikely. 10548 // "UNLIKELY" - It is unlikely. 10549 // "POSSIBLE" - It is possible. 10550 // "LIKELY" - It is likely. 10551 // "VERY_LIKELY" - It is very likely. 10552 Violence string `json:"violence,omitempty"` 10553 // ForceSendFields is a list of field names (e.g. "Adult") to unconditionally 10554 // include in API requests. By default, fields with empty or default values are 10555 // omitted from API requests. See 10556 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10557 // details. 10558 ForceSendFields []string `json:"-"` 10559 // NullFields is a list of field names (e.g. "Adult") to include in API 10560 // requests with the JSON null value. By default, fields with empty values are 10561 // omitted from API requests. See 10562 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10563 NullFields []string `json:"-"` 10564 } 10565 10566 func (s *SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 10567 type NoMethod SafeSearchAnnotation 10568 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10569 } 10570 10571 // Status: The `Status` type defines a logical error model that is suitable for 10572 // different programming environments, including REST APIs and RPC APIs. It is 10573 // used by gRPC (https://github.com/grpc). Each `Status` message contains three 10574 // pieces of data: error code, error message, and error details. You can find 10575 // out more about this error model and how to work with it in the API Design 10576 // Guide (https://cloud.google.com/apis/design/errors). 10577 type Status struct { 10578 // Code: The status code, which should be an enum value of google.rpc.Code. 10579 Code int64 `json:"code,omitempty"` 10580 // Details: A list of messages that carry the error details. There is a common 10581 // set of message types for APIs to use. 10582 Details []googleapi.RawMessage `json:"details,omitempty"` 10583 // Message: A developer-facing error message, which should be in English. Any 10584 // user-facing error message should be localized and sent in the 10585 // google.rpc.Status.details field, or localized by the client. 10586 Message string `json:"message,omitempty"` 10587 // ForceSendFields is a list of field names (e.g. "Code") to unconditionally 10588 // include in API requests. By default, fields with empty or default values are 10589 // omitted from API requests. See 10590 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10591 // details. 10592 ForceSendFields []string `json:"-"` 10593 // NullFields is a list of field names (e.g. "Code") to include in API requests 10594 // with the JSON null value. By default, fields with empty values are omitted 10595 // from API requests. See 10596 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10597 NullFields []string `json:"-"` 10598 } 10599 10600 func (s *Status) MarshalJSON() ([]byte, error) { 10601 type NoMethod Status 10602 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10603 } 10604 10605 // Symbol: A single symbol representation. 10606 type Symbol struct { 10607 // BoundingBox: The bounding box for the symbol. The vertices are in the order 10608 // of top-left, top-right, bottom-right, bottom-left. When a rotation of the 10609 // bounding box is detected the rotation is represented as around the top-left 10610 // corner as defined when the text is read in the 'natural' orientation. For 10611 // example: * when the text is horizontal it might look like: 0----1 | | 3----2 10612 // * when it's rotated 180 degrees around the top-left corner it becomes: 10613 // 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). 10614 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 10615 // Confidence: Confidence of the OCR results for the symbol. Range [0, 1]. 10616 Confidence float64 `json:"confidence,omitempty"` 10617 // Property: Additional information detected for the symbol. 10618 Property *TextProperty `json:"property,omitempty"` 10619 // Text: The actual UTF-8 representation of the symbol. 10620 Text string `json:"text,omitempty"` 10621 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 10622 // unconditionally include in API requests. By default, fields with empty or 10623 // default values are omitted from API requests. See 10624 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10625 // details. 10626 ForceSendFields []string `json:"-"` 10627 // NullFields is a list of field names (e.g. "BoundingBox") to include in API 10628 // requests with the JSON null value. By default, fields with empty values are 10629 // omitted from API requests. See 10630 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10631 NullFields []string `json:"-"` 10632 } 10633 10634 func (s *Symbol) MarshalJSON() ([]byte, error) { 10635 type NoMethod Symbol 10636 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10637 } 10638 10639 func (s *Symbol) UnmarshalJSON(data []byte) error { 10640 type NoMethod Symbol 10641 var s1 struct { 10642 Confidence gensupport.JSONFloat64 `json:"confidence"` 10643 *NoMethod 10644 } 10645 s1.NoMethod = (*NoMethod)(s) 10646 if err := json.Unmarshal(data, &s1); err != nil { 10647 return err 10648 } 10649 s.Confidence = float64(s1.Confidence) 10650 return nil 10651 } 10652 10653 // TextAnnotation: TextAnnotation contains a structured representation of OCR 10654 // extracted text. The hierarchy of an OCR extracted text structure is like 10655 // this: TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol Each 10656 // structural component, starting from Page, may further have their own 10657 // properties. Properties describe detected languages, breaks etc.. Please 10658 // refer to the TextAnnotation.TextProperty message definition below for more 10659 // detail. 10660 type TextAnnotation struct { 10661 // Pages: List of pages detected by OCR. 10662 Pages []*Page `json:"pages,omitempty"` 10663 // Text: UTF-8 text detected on the pages. 10664 Text string `json:"text,omitempty"` 10665 // ForceSendFields is a list of field names (e.g. "Pages") to unconditionally 10666 // include in API requests. By default, fields with empty or default values are 10667 // omitted from API requests. See 10668 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10669 // details. 10670 ForceSendFields []string `json:"-"` 10671 // NullFields is a list of field names (e.g. "Pages") to include in API 10672 // requests with the JSON null value. By default, fields with empty values are 10673 // omitted from API requests. See 10674 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10675 NullFields []string `json:"-"` 10676 } 10677 10678 func (s *TextAnnotation) MarshalJSON() ([]byte, error) { 10679 type NoMethod TextAnnotation 10680 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10681 } 10682 10683 // TextProperty: Additional information detected on the structural component. 10684 type TextProperty struct { 10685 // DetectedBreak: Detected start or end of a text segment. 10686 DetectedBreak *DetectedBreak `json:"detectedBreak,omitempty"` 10687 // DetectedLanguages: A list of detected languages together with confidence. 10688 DetectedLanguages []*DetectedLanguage `json:"detectedLanguages,omitempty"` 10689 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 10690 // unconditionally include in API requests. By default, fields with empty or 10691 // default values are omitted from API requests. See 10692 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10693 // details. 10694 ForceSendFields []string `json:"-"` 10695 // NullFields is a list of field names (e.g. "DetectedBreak") to include in API 10696 // requests with the JSON null value. By default, fields with empty values are 10697 // omitted from API requests. See 10698 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10699 NullFields []string `json:"-"` 10700 } 10701 10702 func (s *TextProperty) MarshalJSON() ([]byte, error) { 10703 type NoMethod TextProperty 10704 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10705 } 10706 10707 // Vertex: A vertex represents a 2D point in the image. NOTE: the vertex 10708 // coordinates are in the same scale as the original image. 10709 type Vertex struct { 10710 // X: X coordinate. 10711 X int64 `json:"x,omitempty"` 10712 // Y: Y coordinate. 10713 Y int64 `json:"y,omitempty"` 10714 // ForceSendFields is a list of field names (e.g. "X") to unconditionally 10715 // include in API requests. By default, fields with empty or default values are 10716 // omitted from API requests. See 10717 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10718 // details. 10719 ForceSendFields []string `json:"-"` 10720 // NullFields is a list of field names (e.g. "X") to include in API requests 10721 // with the JSON null value. By default, fields with empty values are omitted 10722 // from API requests. See 10723 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10724 NullFields []string `json:"-"` 10725 } 10726 10727 func (s *Vertex) MarshalJSON() ([]byte, error) { 10728 type NoMethod Vertex 10729 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10730 } 10731 10732 // WebDetection: Relevant information for the image from the Internet. 10733 type WebDetection struct { 10734 // BestGuessLabels: The service's best guess as to the topic of the request 10735 // image. Inferred from similar images on the open web. 10736 BestGuessLabels []*WebLabel `json:"bestGuessLabels,omitempty"` 10737 // FullMatchingImages: Fully matching images from the Internet. Can include 10738 // resized copies of the query image. 10739 FullMatchingImages []*WebImage `json:"fullMatchingImages,omitempty"` 10740 // PagesWithMatchingImages: Web pages containing the matching images from the 10741 // Internet. 10742 PagesWithMatchingImages []*WebPage `json:"pagesWithMatchingImages,omitempty"` 10743 // PartialMatchingImages: Partial matching images from the Internet. Those 10744 // images are similar enough to share some key-point features. For example an 10745 // original image will likely have partial matching for its crops. 10746 PartialMatchingImages []*WebImage `json:"partialMatchingImages,omitempty"` 10747 // VisuallySimilarImages: The visually similar image results. 10748 VisuallySimilarImages []*WebImage `json:"visuallySimilarImages,omitempty"` 10749 // WebEntities: Deduced entities from similar images on the Internet. 10750 WebEntities []*WebEntity `json:"webEntities,omitempty"` 10751 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 10752 // unconditionally include in API requests. By default, fields with empty or 10753 // default values are omitted from API requests. See 10754 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10755 // details. 10756 ForceSendFields []string `json:"-"` 10757 // NullFields is a list of field names (e.g. "BestGuessLabels") to include in 10758 // API requests with the JSON null value. By default, fields with empty values 10759 // are omitted from API requests. See 10760 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10761 NullFields []string `json:"-"` 10762 } 10763 10764 func (s *WebDetection) MarshalJSON() ([]byte, error) { 10765 type NoMethod WebDetection 10766 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10767 } 10768 10769 // WebEntity: Entity deduced from similar images on the Internet. 10770 type WebEntity struct { 10771 // Description: Canonical description of the entity, in English. 10772 Description string `json:"description,omitempty"` 10773 // EntityId: Opaque entity ID. 10774 EntityId string `json:"entityId,omitempty"` 10775 // Score: Overall relevancy score for the entity. Not normalized and not 10776 // comparable across different image queries. 10777 Score float64 `json:"score,omitempty"` 10778 // ForceSendFields is a list of field names (e.g. "Description") to 10779 // unconditionally include in API requests. By default, fields with empty or 10780 // default values are omitted from API requests. See 10781 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10782 // details. 10783 ForceSendFields []string `json:"-"` 10784 // NullFields is a list of field names (e.g. "Description") to include in API 10785 // requests with the JSON null value. By default, fields with empty values are 10786 // omitted from API requests. See 10787 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10788 NullFields []string `json:"-"` 10789 } 10790 10791 func (s *WebEntity) MarshalJSON() ([]byte, error) { 10792 type NoMethod WebEntity 10793 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10794 } 10795 10796 func (s *WebEntity) UnmarshalJSON(data []byte) error { 10797 type NoMethod WebEntity 10798 var s1 struct { 10799 Score gensupport.JSONFloat64 `json:"score"` 10800 *NoMethod 10801 } 10802 s1.NoMethod = (*NoMethod)(s) 10803 if err := json.Unmarshal(data, &s1); err != nil { 10804 return err 10805 } 10806 s.Score = float64(s1.Score) 10807 return nil 10808 } 10809 10810 // WebImage: Metadata for online images. 10811 type WebImage struct { 10812 // Score: (Deprecated) Overall relevancy score for the image. 10813 Score float64 `json:"score,omitempty"` 10814 // Url: The result image URL. 10815 Url string `json:"url,omitempty"` 10816 // ForceSendFields is a list of field names (e.g. "Score") to unconditionally 10817 // include in API requests. By default, fields with empty or default values are 10818 // omitted from API requests. See 10819 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10820 // details. 10821 ForceSendFields []string `json:"-"` 10822 // NullFields is a list of field names (e.g. "Score") to include in API 10823 // requests with the JSON null value. By default, fields with empty values are 10824 // omitted from API requests. See 10825 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10826 NullFields []string `json:"-"` 10827 } 10828 10829 func (s *WebImage) MarshalJSON() ([]byte, error) { 10830 type NoMethod WebImage 10831 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10832 } 10833 10834 func (s *WebImage) UnmarshalJSON(data []byte) error { 10835 type NoMethod WebImage 10836 var s1 struct { 10837 Score gensupport.JSONFloat64 `json:"score"` 10838 *NoMethod 10839 } 10840 s1.NoMethod = (*NoMethod)(s) 10841 if err := json.Unmarshal(data, &s1); err != nil { 10842 return err 10843 } 10844 s.Score = float64(s1.Score) 10845 return nil 10846 } 10847 10848 // WebLabel: Label to provide extra metadata for the web detection. 10849 type WebLabel struct { 10850 // Label: Label for extra metadata. 10851 Label string `json:"label,omitempty"` 10852 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" or 10853 // "sr-Latn". For more information, see 10854 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 10855 LanguageCode string `json:"languageCode,omitempty"` 10856 // ForceSendFields is a list of field names (e.g. "Label") to unconditionally 10857 // include in API requests. By default, fields with empty or default values are 10858 // omitted from API requests. See 10859 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10860 // details. 10861 ForceSendFields []string `json:"-"` 10862 // NullFields is a list of field names (e.g. "Label") to include in API 10863 // requests with the JSON null value. By default, fields with empty values are 10864 // omitted from API requests. See 10865 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10866 NullFields []string `json:"-"` 10867 } 10868 10869 func (s *WebLabel) MarshalJSON() ([]byte, error) { 10870 type NoMethod WebLabel 10871 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10872 } 10873 10874 // WebPage: Metadata for web pages. 10875 type WebPage struct { 10876 // FullMatchingImages: Fully matching images on the page. Can include resized 10877 // copies of the query image. 10878 FullMatchingImages []*WebImage `json:"fullMatchingImages,omitempty"` 10879 // PageTitle: Title for the web page, may contain HTML markups. 10880 PageTitle string `json:"pageTitle,omitempty"` 10881 // PartialMatchingImages: Partial matching images on the page. Those images are 10882 // similar enough to share some key-point features. For example an original 10883 // image will likely have partial matching for its crops. 10884 PartialMatchingImages []*WebImage `json:"partialMatchingImages,omitempty"` 10885 // Score: (Deprecated) Overall relevancy score for the web page. 10886 Score float64 `json:"score,omitempty"` 10887 // Url: The result web page URL. 10888 Url string `json:"url,omitempty"` 10889 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") to 10890 // unconditionally include in API requests. By default, fields with empty or 10891 // default values are omitted from API requests. See 10892 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10893 // details. 10894 ForceSendFields []string `json:"-"` 10895 // NullFields is a list of field names (e.g. "FullMatchingImages") to include 10896 // in API requests with the JSON null value. By default, fields with empty 10897 // values are omitted from API requests. See 10898 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10899 NullFields []string `json:"-"` 10900 } 10901 10902 func (s *WebPage) MarshalJSON() ([]byte, error) { 10903 type NoMethod WebPage 10904 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10905 } 10906 10907 func (s *WebPage) UnmarshalJSON(data []byte) error { 10908 type NoMethod WebPage 10909 var s1 struct { 10910 Score gensupport.JSONFloat64 `json:"score"` 10911 *NoMethod 10912 } 10913 s1.NoMethod = (*NoMethod)(s) 10914 if err := json.Unmarshal(data, &s1); err != nil { 10915 return err 10916 } 10917 s.Score = float64(s1.Score) 10918 return nil 10919 } 10920 10921 // Word: A word representation. 10922 type Word struct { 10923 // BoundingBox: The bounding box for the word. The vertices are in the order of 10924 // top-left, top-right, bottom-right, bottom-left. When a rotation of the 10925 // bounding box is detected the rotation is represented as around the top-left 10926 // corner as defined when the text is read in the 'natural' orientation. For 10927 // example: * when the text is horizontal it might look like: 0----1 | | 3----2 10928 // * when it's rotated 180 degrees around the top-left corner it becomes: 10929 // 2----3 | | 1----0 and the vertex order will still be (0, 1, 2, 3). 10930 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 10931 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 10932 Confidence float64 `json:"confidence,omitempty"` 10933 // Property: Additional information detected for the word. 10934 Property *TextProperty `json:"property,omitempty"` 10935 // Symbols: List of symbols in the word. The order of the symbols follows the 10936 // natural reading order. 10937 Symbols []*Symbol `json:"symbols,omitempty"` 10938 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 10939 // unconditionally include in API requests. By default, fields with empty or 10940 // default values are omitted from API requests. See 10941 // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more 10942 // details. 10943 ForceSendFields []string `json:"-"` 10944 // NullFields is a list of field names (e.g. "BoundingBox") to include in API 10945 // requests with the JSON null value. By default, fields with empty values are 10946 // omitted from API requests. See 10947 // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. 10948 NullFields []string `json:"-"` 10949 } 10950 10951 func (s *Word) MarshalJSON() ([]byte, error) { 10952 type NoMethod Word 10953 return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) 10954 } 10955 10956 func (s *Word) UnmarshalJSON(data []byte) error { 10957 type NoMethod Word 10958 var s1 struct { 10959 Confidence gensupport.JSONFloat64 `json:"confidence"` 10960 *NoMethod 10961 } 10962 s1.NoMethod = (*NoMethod)(s) 10963 if err := json.Unmarshal(data, &s1); err != nil { 10964 return err 10965 } 10966 s.Confidence = float64(s1.Confidence) 10967 return nil 10968 } 10969 10970 type FilesAnnotateCall struct { 10971 s *Service 10972 googlecloudvisionv1p1beta1batchannotatefilesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest 10973 urlParams_ gensupport.URLParams 10974 ctx_ context.Context 10975 header_ http.Header 10976 } 10977 10978 // Annotate: Service that performs image detection and annotation for a batch 10979 // of files. Now only "application/pdf", "image/tiff" and "image/gif" are 10980 // supported. This service will extract at most 5 (customers can specify which 10981 // 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from 10982 // each file provided and perform detection and annotation for each image 10983 // extracted. 10984 func (r *FilesService) Annotate(googlecloudvisionv1p1beta1batchannotatefilesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest) *FilesAnnotateCall { 10985 c := &FilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 10986 c.googlecloudvisionv1p1beta1batchannotatefilesrequest = googlecloudvisionv1p1beta1batchannotatefilesrequest 10987 return c 10988 } 10989 10990 // Fields allows partial responses to be retrieved. See 10991 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 10992 // details. 10993 func (c *FilesAnnotateCall) Fields(s ...googleapi.Field) *FilesAnnotateCall { 10994 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 10995 return c 10996 } 10997 10998 // Context sets the context to be used in this call's Do method. 10999 func (c *FilesAnnotateCall) Context(ctx context.Context) *FilesAnnotateCall { 11000 c.ctx_ = ctx 11001 return c 11002 } 11003 11004 // Header returns a http.Header that can be modified by the caller to add 11005 // headers to the request. 11006 func (c *FilesAnnotateCall) Header() http.Header { 11007 if c.header_ == nil { 11008 c.header_ = make(http.Header) 11009 } 11010 return c.header_ 11011 } 11012 11013 func (c *FilesAnnotateCall) doRequest(alt string) (*http.Response, error) { 11014 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 11015 var body io.Reader = nil 11016 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1batchannotatefilesrequest) 11017 if err != nil { 11018 return nil, err 11019 } 11020 c.urlParams_.Set("alt", alt) 11021 c.urlParams_.Set("prettyPrint", "false") 11022 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/files:annotate") 11023 urls += "?" + c.urlParams_.Encode() 11024 req, err := http.NewRequest("POST", urls, body) 11025 if err != nil { 11026 return nil, err 11027 } 11028 req.Header = reqHeaders 11029 return gensupport.SendRequest(c.ctx_, c.s.client, req) 11030 } 11031 11032 // Do executes the "vision.files.annotate" call. 11033 // Any non-2xx status code is an error. Response headers are in either 11034 // *GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse.ServerResponse.Header 11035 // or (if a response was returned at all) in error.(*googleapi.Error).Header. 11036 // Use googleapi.IsNotModified to check whether the returned error was because 11037 // http.StatusNotModified was returned. 11038 func (c *FilesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse, error) { 11039 gensupport.SetOptions(c.urlParams_, opts...) 11040 res, err := c.doRequest("json") 11041 if res != nil && res.StatusCode == http.StatusNotModified { 11042 if res.Body != nil { 11043 res.Body.Close() 11044 } 11045 return nil, gensupport.WrapError(&googleapi.Error{ 11046 Code: res.StatusCode, 11047 Header: res.Header, 11048 }) 11049 } 11050 if err != nil { 11051 return nil, err 11052 } 11053 defer googleapi.CloseBody(res) 11054 if err := googleapi.CheckResponse(res); err != nil { 11055 return nil, gensupport.WrapError(err) 11056 } 11057 ret := &GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse{ 11058 ServerResponse: googleapi.ServerResponse{ 11059 Header: res.Header, 11060 HTTPStatusCode: res.StatusCode, 11061 }, 11062 } 11063 target := &ret 11064 if err := gensupport.DecodeResponse(target, res); err != nil { 11065 return nil, err 11066 } 11067 return ret, nil 11068 } 11069 11070 type FilesAsyncBatchAnnotateCall struct { 11071 s *Service 11072 googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest 11073 urlParams_ gensupport.URLParams 11074 ctx_ context.Context 11075 header_ http.Header 11076 } 11077 11078 // AsyncBatchAnnotate: Run asynchronous image detection and annotation for a 11079 // list of generic files, such as PDF files, which may contain multiple pages 11080 // and multiple images per page. Progress and results can be retrieved through 11081 // the `google.longrunning.Operations` interface. `Operation.metadata` contains 11082 // `OperationMetadata` (metadata). `Operation.response` contains 11083 // `AsyncBatchAnnotateFilesResponse` (results). 11084 func (r *FilesService) AsyncBatchAnnotate(googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest) *FilesAsyncBatchAnnotateCall { 11085 c := &FilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 11086 c.googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest = googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest 11087 return c 11088 } 11089 11090 // Fields allows partial responses to be retrieved. See 11091 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 11092 // details. 11093 func (c *FilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *FilesAsyncBatchAnnotateCall { 11094 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 11095 return c 11096 } 11097 11098 // Context sets the context to be used in this call's Do method. 11099 func (c *FilesAsyncBatchAnnotateCall) Context(ctx context.Context) *FilesAsyncBatchAnnotateCall { 11100 c.ctx_ = ctx 11101 return c 11102 } 11103 11104 // Header returns a http.Header that can be modified by the caller to add 11105 // headers to the request. 11106 func (c *FilesAsyncBatchAnnotateCall) Header() http.Header { 11107 if c.header_ == nil { 11108 c.header_ = make(http.Header) 11109 } 11110 return c.header_ 11111 } 11112 11113 func (c *FilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 11114 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 11115 var body io.Reader = nil 11116 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest) 11117 if err != nil { 11118 return nil, err 11119 } 11120 c.urlParams_.Set("alt", alt) 11121 c.urlParams_.Set("prettyPrint", "false") 11122 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/files:asyncBatchAnnotate") 11123 urls += "?" + c.urlParams_.Encode() 11124 req, err := http.NewRequest("POST", urls, body) 11125 if err != nil { 11126 return nil, err 11127 } 11128 req.Header = reqHeaders 11129 return gensupport.SendRequest(c.ctx_, c.s.client, req) 11130 } 11131 11132 // Do executes the "vision.files.asyncBatchAnnotate" call. 11133 // Any non-2xx status code is an error. Response headers are in either 11134 // *Operation.ServerResponse.Header or (if a response was returned at all) in 11135 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 11136 // whether the returned error was because http.StatusNotModified was returned. 11137 func (c *FilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 11138 gensupport.SetOptions(c.urlParams_, opts...) 11139 res, err := c.doRequest("json") 11140 if res != nil && res.StatusCode == http.StatusNotModified { 11141 if res.Body != nil { 11142 res.Body.Close() 11143 } 11144 return nil, gensupport.WrapError(&googleapi.Error{ 11145 Code: res.StatusCode, 11146 Header: res.Header, 11147 }) 11148 } 11149 if err != nil { 11150 return nil, err 11151 } 11152 defer googleapi.CloseBody(res) 11153 if err := googleapi.CheckResponse(res); err != nil { 11154 return nil, gensupport.WrapError(err) 11155 } 11156 ret := &Operation{ 11157 ServerResponse: googleapi.ServerResponse{ 11158 Header: res.Header, 11159 HTTPStatusCode: res.StatusCode, 11160 }, 11161 } 11162 target := &ret 11163 if err := gensupport.DecodeResponse(target, res); err != nil { 11164 return nil, err 11165 } 11166 return ret, nil 11167 } 11168 11169 type ImagesAnnotateCall struct { 11170 s *Service 11171 googlecloudvisionv1p1beta1batchannotateimagesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest 11172 urlParams_ gensupport.URLParams 11173 ctx_ context.Context 11174 header_ http.Header 11175 } 11176 11177 // Annotate: Run image detection and annotation for a batch of images. 11178 func (r *ImagesService) Annotate(googlecloudvisionv1p1beta1batchannotateimagesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest) *ImagesAnnotateCall { 11179 c := &ImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 11180 c.googlecloudvisionv1p1beta1batchannotateimagesrequest = googlecloudvisionv1p1beta1batchannotateimagesrequest 11181 return c 11182 } 11183 11184 // Fields allows partial responses to be retrieved. See 11185 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 11186 // details. 11187 func (c *ImagesAnnotateCall) Fields(s ...googleapi.Field) *ImagesAnnotateCall { 11188 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 11189 return c 11190 } 11191 11192 // Context sets the context to be used in this call's Do method. 11193 func (c *ImagesAnnotateCall) Context(ctx context.Context) *ImagesAnnotateCall { 11194 c.ctx_ = ctx 11195 return c 11196 } 11197 11198 // Header returns a http.Header that can be modified by the caller to add 11199 // headers to the request. 11200 func (c *ImagesAnnotateCall) Header() http.Header { 11201 if c.header_ == nil { 11202 c.header_ = make(http.Header) 11203 } 11204 return c.header_ 11205 } 11206 11207 func (c *ImagesAnnotateCall) doRequest(alt string) (*http.Response, error) { 11208 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 11209 var body io.Reader = nil 11210 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1batchannotateimagesrequest) 11211 if err != nil { 11212 return nil, err 11213 } 11214 c.urlParams_.Set("alt", alt) 11215 c.urlParams_.Set("prettyPrint", "false") 11216 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/images:annotate") 11217 urls += "?" + c.urlParams_.Encode() 11218 req, err := http.NewRequest("POST", urls, body) 11219 if err != nil { 11220 return nil, err 11221 } 11222 req.Header = reqHeaders 11223 return gensupport.SendRequest(c.ctx_, c.s.client, req) 11224 } 11225 11226 // Do executes the "vision.images.annotate" call. 11227 // Any non-2xx status code is an error. Response headers are in either 11228 // *GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse.ServerResponse.Header 11229 // or (if a response was returned at all) in error.(*googleapi.Error).Header. 11230 // Use googleapi.IsNotModified to check whether the returned error was because 11231 // http.StatusNotModified was returned. 11232 func (c *ImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse, error) { 11233 gensupport.SetOptions(c.urlParams_, opts...) 11234 res, err := c.doRequest("json") 11235 if res != nil && res.StatusCode == http.StatusNotModified { 11236 if res.Body != nil { 11237 res.Body.Close() 11238 } 11239 return nil, gensupport.WrapError(&googleapi.Error{ 11240 Code: res.StatusCode, 11241 Header: res.Header, 11242 }) 11243 } 11244 if err != nil { 11245 return nil, err 11246 } 11247 defer googleapi.CloseBody(res) 11248 if err := googleapi.CheckResponse(res); err != nil { 11249 return nil, gensupport.WrapError(err) 11250 } 11251 ret := &GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse{ 11252 ServerResponse: googleapi.ServerResponse{ 11253 Header: res.Header, 11254 HTTPStatusCode: res.StatusCode, 11255 }, 11256 } 11257 target := &ret 11258 if err := gensupport.DecodeResponse(target, res); err != nil { 11259 return nil, err 11260 } 11261 return ret, nil 11262 } 11263 11264 type ImagesAsyncBatchAnnotateCall struct { 11265 s *Service 11266 googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest 11267 urlParams_ gensupport.URLParams 11268 ctx_ context.Context 11269 header_ http.Header 11270 } 11271 11272 // AsyncBatchAnnotate: Run asynchronous image detection and annotation for a 11273 // list of images. Progress and results can be retrieved through the 11274 // `google.longrunning.Operations` interface. `Operation.metadata` contains 11275 // `OperationMetadata` (metadata). `Operation.response` contains 11276 // `AsyncBatchAnnotateImagesResponse` (results). This service will write image 11277 // annotation outputs to json files in customer GCS bucket, each json file 11278 // containing BatchAnnotateImagesResponse proto. 11279 func (r *ImagesService) AsyncBatchAnnotate(googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest) *ImagesAsyncBatchAnnotateCall { 11280 c := &ImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 11281 c.googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest = googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest 11282 return c 11283 } 11284 11285 // Fields allows partial responses to be retrieved. See 11286 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 11287 // details. 11288 func (c *ImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ImagesAsyncBatchAnnotateCall { 11289 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 11290 return c 11291 } 11292 11293 // Context sets the context to be used in this call's Do method. 11294 func (c *ImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ImagesAsyncBatchAnnotateCall { 11295 c.ctx_ = ctx 11296 return c 11297 } 11298 11299 // Header returns a http.Header that can be modified by the caller to add 11300 // headers to the request. 11301 func (c *ImagesAsyncBatchAnnotateCall) Header() http.Header { 11302 if c.header_ == nil { 11303 c.header_ = make(http.Header) 11304 } 11305 return c.header_ 11306 } 11307 11308 func (c *ImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 11309 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 11310 var body io.Reader = nil 11311 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest) 11312 if err != nil { 11313 return nil, err 11314 } 11315 c.urlParams_.Set("alt", alt) 11316 c.urlParams_.Set("prettyPrint", "false") 11317 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/images:asyncBatchAnnotate") 11318 urls += "?" + c.urlParams_.Encode() 11319 req, err := http.NewRequest("POST", urls, body) 11320 if err != nil { 11321 return nil, err 11322 } 11323 req.Header = reqHeaders 11324 return gensupport.SendRequest(c.ctx_, c.s.client, req) 11325 } 11326 11327 // Do executes the "vision.images.asyncBatchAnnotate" call. 11328 // Any non-2xx status code is an error. Response headers are in either 11329 // *Operation.ServerResponse.Header or (if a response was returned at all) in 11330 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 11331 // whether the returned error was because http.StatusNotModified was returned. 11332 func (c *ImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 11333 gensupport.SetOptions(c.urlParams_, opts...) 11334 res, err := c.doRequest("json") 11335 if res != nil && res.StatusCode == http.StatusNotModified { 11336 if res.Body != nil { 11337 res.Body.Close() 11338 } 11339 return nil, gensupport.WrapError(&googleapi.Error{ 11340 Code: res.StatusCode, 11341 Header: res.Header, 11342 }) 11343 } 11344 if err != nil { 11345 return nil, err 11346 } 11347 defer googleapi.CloseBody(res) 11348 if err := googleapi.CheckResponse(res); err != nil { 11349 return nil, gensupport.WrapError(err) 11350 } 11351 ret := &Operation{ 11352 ServerResponse: googleapi.ServerResponse{ 11353 Header: res.Header, 11354 HTTPStatusCode: res.StatusCode, 11355 }, 11356 } 11357 target := &ret 11358 if err := gensupport.DecodeResponse(target, res); err != nil { 11359 return nil, err 11360 } 11361 return ret, nil 11362 } 11363 11364 type ProjectsFilesAnnotateCall struct { 11365 s *Service 11366 parent string 11367 googlecloudvisionv1p1beta1batchannotatefilesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest 11368 urlParams_ gensupport.URLParams 11369 ctx_ context.Context 11370 header_ http.Header 11371 } 11372 11373 // Annotate: Service that performs image detection and annotation for a batch 11374 // of files. Now only "application/pdf", "image/tiff" and "image/gif" are 11375 // supported. This service will extract at most 5 (customers can specify which 11376 // 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from 11377 // each file provided and perform detection and annotation for each image 11378 // extracted. 11379 // 11380 // - parent: Optional. Target project and location to make a call. Format: 11381 // `projects/{project-id}/locations/{location-id}`. If no parent is 11382 // specified, a region will be chosen automatically. Supported location-ids: 11383 // `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: 11384 // The European Union. Example: `projects/project-A/locations/eu`. 11385 func (r *ProjectsFilesService) Annotate(parent string, googlecloudvisionv1p1beta1batchannotatefilesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest) *ProjectsFilesAnnotateCall { 11386 c := &ProjectsFilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 11387 c.parent = parent 11388 c.googlecloudvisionv1p1beta1batchannotatefilesrequest = googlecloudvisionv1p1beta1batchannotatefilesrequest 11389 return c 11390 } 11391 11392 // Fields allows partial responses to be retrieved. See 11393 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 11394 // details. 11395 func (c *ProjectsFilesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsFilesAnnotateCall { 11396 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 11397 return c 11398 } 11399 11400 // Context sets the context to be used in this call's Do method. 11401 func (c *ProjectsFilesAnnotateCall) Context(ctx context.Context) *ProjectsFilesAnnotateCall { 11402 c.ctx_ = ctx 11403 return c 11404 } 11405 11406 // Header returns a http.Header that can be modified by the caller to add 11407 // headers to the request. 11408 func (c *ProjectsFilesAnnotateCall) Header() http.Header { 11409 if c.header_ == nil { 11410 c.header_ = make(http.Header) 11411 } 11412 return c.header_ 11413 } 11414 11415 func (c *ProjectsFilesAnnotateCall) doRequest(alt string) (*http.Response, error) { 11416 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 11417 var body io.Reader = nil 11418 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1batchannotatefilesrequest) 11419 if err != nil { 11420 return nil, err 11421 } 11422 c.urlParams_.Set("alt", alt) 11423 c.urlParams_.Set("prettyPrint", "false") 11424 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/{+parent}/files:annotate") 11425 urls += "?" + c.urlParams_.Encode() 11426 req, err := http.NewRequest("POST", urls, body) 11427 if err != nil { 11428 return nil, err 11429 } 11430 req.Header = reqHeaders 11431 googleapi.Expand(req.URL, map[string]string{ 11432 "parent": c.parent, 11433 }) 11434 return gensupport.SendRequest(c.ctx_, c.s.client, req) 11435 } 11436 11437 // Do executes the "vision.projects.files.annotate" call. 11438 // Any non-2xx status code is an error. Response headers are in either 11439 // *GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse.ServerResponse.Header 11440 // or (if a response was returned at all) in error.(*googleapi.Error).Header. 11441 // Use googleapi.IsNotModified to check whether the returned error was because 11442 // http.StatusNotModified was returned. 11443 func (c *ProjectsFilesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse, error) { 11444 gensupport.SetOptions(c.urlParams_, opts...) 11445 res, err := c.doRequest("json") 11446 if res != nil && res.StatusCode == http.StatusNotModified { 11447 if res.Body != nil { 11448 res.Body.Close() 11449 } 11450 return nil, gensupport.WrapError(&googleapi.Error{ 11451 Code: res.StatusCode, 11452 Header: res.Header, 11453 }) 11454 } 11455 if err != nil { 11456 return nil, err 11457 } 11458 defer googleapi.CloseBody(res) 11459 if err := googleapi.CheckResponse(res); err != nil { 11460 return nil, gensupport.WrapError(err) 11461 } 11462 ret := &GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse{ 11463 ServerResponse: googleapi.ServerResponse{ 11464 Header: res.Header, 11465 HTTPStatusCode: res.StatusCode, 11466 }, 11467 } 11468 target := &ret 11469 if err := gensupport.DecodeResponse(target, res); err != nil { 11470 return nil, err 11471 } 11472 return ret, nil 11473 } 11474 11475 type ProjectsFilesAsyncBatchAnnotateCall struct { 11476 s *Service 11477 parent string 11478 googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest 11479 urlParams_ gensupport.URLParams 11480 ctx_ context.Context 11481 header_ http.Header 11482 } 11483 11484 // AsyncBatchAnnotate: Run asynchronous image detection and annotation for a 11485 // list of generic files, such as PDF files, which may contain multiple pages 11486 // and multiple images per page. Progress and results can be retrieved through 11487 // the `google.longrunning.Operations` interface. `Operation.metadata` contains 11488 // `OperationMetadata` (metadata). `Operation.response` contains 11489 // `AsyncBatchAnnotateFilesResponse` (results). 11490 // 11491 // - parent: Optional. Target project and location to make a call. Format: 11492 // `projects/{project-id}/locations/{location-id}`. If no parent is 11493 // specified, a region will be chosen automatically. Supported location-ids: 11494 // `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: 11495 // The European Union. Example: `projects/project-A/locations/eu`. 11496 func (r *ProjectsFilesService) AsyncBatchAnnotate(parent string, googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest) *ProjectsFilesAsyncBatchAnnotateCall { 11497 c := &ProjectsFilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 11498 c.parent = parent 11499 c.googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest = googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest 11500 return c 11501 } 11502 11503 // Fields allows partial responses to be retrieved. See 11504 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 11505 // details. 11506 func (c *ProjectsFilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsFilesAsyncBatchAnnotateCall { 11507 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 11508 return c 11509 } 11510 11511 // Context sets the context to be used in this call's Do method. 11512 func (c *ProjectsFilesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsFilesAsyncBatchAnnotateCall { 11513 c.ctx_ = ctx 11514 return c 11515 } 11516 11517 // Header returns a http.Header that can be modified by the caller to add 11518 // headers to the request. 11519 func (c *ProjectsFilesAsyncBatchAnnotateCall) Header() http.Header { 11520 if c.header_ == nil { 11521 c.header_ = make(http.Header) 11522 } 11523 return c.header_ 11524 } 11525 11526 func (c *ProjectsFilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 11527 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 11528 var body io.Reader = nil 11529 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest) 11530 if err != nil { 11531 return nil, err 11532 } 11533 c.urlParams_.Set("alt", alt) 11534 c.urlParams_.Set("prettyPrint", "false") 11535 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/{+parent}/files:asyncBatchAnnotate") 11536 urls += "?" + c.urlParams_.Encode() 11537 req, err := http.NewRequest("POST", urls, body) 11538 if err != nil { 11539 return nil, err 11540 } 11541 req.Header = reqHeaders 11542 googleapi.Expand(req.URL, map[string]string{ 11543 "parent": c.parent, 11544 }) 11545 return gensupport.SendRequest(c.ctx_, c.s.client, req) 11546 } 11547 11548 // Do executes the "vision.projects.files.asyncBatchAnnotate" call. 11549 // Any non-2xx status code is an error. Response headers are in either 11550 // *Operation.ServerResponse.Header or (if a response was returned at all) in 11551 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 11552 // whether the returned error was because http.StatusNotModified was returned. 11553 func (c *ProjectsFilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 11554 gensupport.SetOptions(c.urlParams_, opts...) 11555 res, err := c.doRequest("json") 11556 if res != nil && res.StatusCode == http.StatusNotModified { 11557 if res.Body != nil { 11558 res.Body.Close() 11559 } 11560 return nil, gensupport.WrapError(&googleapi.Error{ 11561 Code: res.StatusCode, 11562 Header: res.Header, 11563 }) 11564 } 11565 if err != nil { 11566 return nil, err 11567 } 11568 defer googleapi.CloseBody(res) 11569 if err := googleapi.CheckResponse(res); err != nil { 11570 return nil, gensupport.WrapError(err) 11571 } 11572 ret := &Operation{ 11573 ServerResponse: googleapi.ServerResponse{ 11574 Header: res.Header, 11575 HTTPStatusCode: res.StatusCode, 11576 }, 11577 } 11578 target := &ret 11579 if err := gensupport.DecodeResponse(target, res); err != nil { 11580 return nil, err 11581 } 11582 return ret, nil 11583 } 11584 11585 type ProjectsImagesAnnotateCall struct { 11586 s *Service 11587 parent string 11588 googlecloudvisionv1p1beta1batchannotateimagesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest 11589 urlParams_ gensupport.URLParams 11590 ctx_ context.Context 11591 header_ http.Header 11592 } 11593 11594 // Annotate: Run image detection and annotation for a batch of images. 11595 // 11596 // - parent: Optional. Target project and location to make a call. Format: 11597 // `projects/{project-id}/locations/{location-id}`. If no parent is 11598 // specified, a region will be chosen automatically. Supported location-ids: 11599 // `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: 11600 // The European Union. Example: `projects/project-A/locations/eu`. 11601 func (r *ProjectsImagesService) Annotate(parent string, googlecloudvisionv1p1beta1batchannotateimagesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest) *ProjectsImagesAnnotateCall { 11602 c := &ProjectsImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 11603 c.parent = parent 11604 c.googlecloudvisionv1p1beta1batchannotateimagesrequest = googlecloudvisionv1p1beta1batchannotateimagesrequest 11605 return c 11606 } 11607 11608 // Fields allows partial responses to be retrieved. See 11609 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 11610 // details. 11611 func (c *ProjectsImagesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsImagesAnnotateCall { 11612 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 11613 return c 11614 } 11615 11616 // Context sets the context to be used in this call's Do method. 11617 func (c *ProjectsImagesAnnotateCall) Context(ctx context.Context) *ProjectsImagesAnnotateCall { 11618 c.ctx_ = ctx 11619 return c 11620 } 11621 11622 // Header returns a http.Header that can be modified by the caller to add 11623 // headers to the request. 11624 func (c *ProjectsImagesAnnotateCall) Header() http.Header { 11625 if c.header_ == nil { 11626 c.header_ = make(http.Header) 11627 } 11628 return c.header_ 11629 } 11630 11631 func (c *ProjectsImagesAnnotateCall) doRequest(alt string) (*http.Response, error) { 11632 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 11633 var body io.Reader = nil 11634 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1batchannotateimagesrequest) 11635 if err != nil { 11636 return nil, err 11637 } 11638 c.urlParams_.Set("alt", alt) 11639 c.urlParams_.Set("prettyPrint", "false") 11640 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/{+parent}/images:annotate") 11641 urls += "?" + c.urlParams_.Encode() 11642 req, err := http.NewRequest("POST", urls, body) 11643 if err != nil { 11644 return nil, err 11645 } 11646 req.Header = reqHeaders 11647 googleapi.Expand(req.URL, map[string]string{ 11648 "parent": c.parent, 11649 }) 11650 return gensupport.SendRequest(c.ctx_, c.s.client, req) 11651 } 11652 11653 // Do executes the "vision.projects.images.annotate" call. 11654 // Any non-2xx status code is an error. Response headers are in either 11655 // *GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse.ServerResponse.Header 11656 // or (if a response was returned at all) in error.(*googleapi.Error).Header. 11657 // Use googleapi.IsNotModified to check whether the returned error was because 11658 // http.StatusNotModified was returned. 11659 func (c *ProjectsImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse, error) { 11660 gensupport.SetOptions(c.urlParams_, opts...) 11661 res, err := c.doRequest("json") 11662 if res != nil && res.StatusCode == http.StatusNotModified { 11663 if res.Body != nil { 11664 res.Body.Close() 11665 } 11666 return nil, gensupport.WrapError(&googleapi.Error{ 11667 Code: res.StatusCode, 11668 Header: res.Header, 11669 }) 11670 } 11671 if err != nil { 11672 return nil, err 11673 } 11674 defer googleapi.CloseBody(res) 11675 if err := googleapi.CheckResponse(res); err != nil { 11676 return nil, gensupport.WrapError(err) 11677 } 11678 ret := &GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse{ 11679 ServerResponse: googleapi.ServerResponse{ 11680 Header: res.Header, 11681 HTTPStatusCode: res.StatusCode, 11682 }, 11683 } 11684 target := &ret 11685 if err := gensupport.DecodeResponse(target, res); err != nil { 11686 return nil, err 11687 } 11688 return ret, nil 11689 } 11690 11691 type ProjectsImagesAsyncBatchAnnotateCall struct { 11692 s *Service 11693 parent string 11694 googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest 11695 urlParams_ gensupport.URLParams 11696 ctx_ context.Context 11697 header_ http.Header 11698 } 11699 11700 // AsyncBatchAnnotate: Run asynchronous image detection and annotation for a 11701 // list of images. Progress and results can be retrieved through the 11702 // `google.longrunning.Operations` interface. `Operation.metadata` contains 11703 // `OperationMetadata` (metadata). `Operation.response` contains 11704 // `AsyncBatchAnnotateImagesResponse` (results). This service will write image 11705 // annotation outputs to json files in customer GCS bucket, each json file 11706 // containing BatchAnnotateImagesResponse proto. 11707 // 11708 // - parent: Optional. Target project and location to make a call. Format: 11709 // `projects/{project-id}/locations/{location-id}`. If no parent is 11710 // specified, a region will be chosen automatically. Supported location-ids: 11711 // `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: 11712 // The European Union. Example: `projects/project-A/locations/eu`. 11713 func (r *ProjectsImagesService) AsyncBatchAnnotate(parent string, googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest) *ProjectsImagesAsyncBatchAnnotateCall { 11714 c := &ProjectsImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 11715 c.parent = parent 11716 c.googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest = googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest 11717 return c 11718 } 11719 11720 // Fields allows partial responses to be retrieved. See 11721 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 11722 // details. 11723 func (c *ProjectsImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsImagesAsyncBatchAnnotateCall { 11724 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 11725 return c 11726 } 11727 11728 // Context sets the context to be used in this call's Do method. 11729 func (c *ProjectsImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsImagesAsyncBatchAnnotateCall { 11730 c.ctx_ = ctx 11731 return c 11732 } 11733 11734 // Header returns a http.Header that can be modified by the caller to add 11735 // headers to the request. 11736 func (c *ProjectsImagesAsyncBatchAnnotateCall) Header() http.Header { 11737 if c.header_ == nil { 11738 c.header_ = make(http.Header) 11739 } 11740 return c.header_ 11741 } 11742 11743 func (c *ProjectsImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 11744 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 11745 var body io.Reader = nil 11746 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest) 11747 if err != nil { 11748 return nil, err 11749 } 11750 c.urlParams_.Set("alt", alt) 11751 c.urlParams_.Set("prettyPrint", "false") 11752 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/{+parent}/images:asyncBatchAnnotate") 11753 urls += "?" + c.urlParams_.Encode() 11754 req, err := http.NewRequest("POST", urls, body) 11755 if err != nil { 11756 return nil, err 11757 } 11758 req.Header = reqHeaders 11759 googleapi.Expand(req.URL, map[string]string{ 11760 "parent": c.parent, 11761 }) 11762 return gensupport.SendRequest(c.ctx_, c.s.client, req) 11763 } 11764 11765 // Do executes the "vision.projects.images.asyncBatchAnnotate" call. 11766 // Any non-2xx status code is an error. Response headers are in either 11767 // *Operation.ServerResponse.Header or (if a response was returned at all) in 11768 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 11769 // whether the returned error was because http.StatusNotModified was returned. 11770 func (c *ProjectsImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 11771 gensupport.SetOptions(c.urlParams_, opts...) 11772 res, err := c.doRequest("json") 11773 if res != nil && res.StatusCode == http.StatusNotModified { 11774 if res.Body != nil { 11775 res.Body.Close() 11776 } 11777 return nil, gensupport.WrapError(&googleapi.Error{ 11778 Code: res.StatusCode, 11779 Header: res.Header, 11780 }) 11781 } 11782 if err != nil { 11783 return nil, err 11784 } 11785 defer googleapi.CloseBody(res) 11786 if err := googleapi.CheckResponse(res); err != nil { 11787 return nil, gensupport.WrapError(err) 11788 } 11789 ret := &Operation{ 11790 ServerResponse: googleapi.ServerResponse{ 11791 Header: res.Header, 11792 HTTPStatusCode: res.StatusCode, 11793 }, 11794 } 11795 target := &ret 11796 if err := gensupport.DecodeResponse(target, res); err != nil { 11797 return nil, err 11798 } 11799 return ret, nil 11800 } 11801 11802 type ProjectsLocationsFilesAnnotateCall struct { 11803 s *Service 11804 parent string 11805 googlecloudvisionv1p1beta1batchannotatefilesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest 11806 urlParams_ gensupport.URLParams 11807 ctx_ context.Context 11808 header_ http.Header 11809 } 11810 11811 // Annotate: Service that performs image detection and annotation for a batch 11812 // of files. Now only "application/pdf", "image/tiff" and "image/gif" are 11813 // supported. This service will extract at most 5 (customers can specify which 11814 // 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from 11815 // each file provided and perform detection and annotation for each image 11816 // extracted. 11817 // 11818 // - parent: Optional. Target project and location to make a call. Format: 11819 // `projects/{project-id}/locations/{location-id}`. If no parent is 11820 // specified, a region will be chosen automatically. Supported location-ids: 11821 // `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: 11822 // The European Union. Example: `projects/project-A/locations/eu`. 11823 func (r *ProjectsLocationsFilesService) Annotate(parent string, googlecloudvisionv1p1beta1batchannotatefilesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest) *ProjectsLocationsFilesAnnotateCall { 11824 c := &ProjectsLocationsFilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 11825 c.parent = parent 11826 c.googlecloudvisionv1p1beta1batchannotatefilesrequest = googlecloudvisionv1p1beta1batchannotatefilesrequest 11827 return c 11828 } 11829 11830 // Fields allows partial responses to be retrieved. See 11831 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 11832 // details. 11833 func (c *ProjectsLocationsFilesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFilesAnnotateCall { 11834 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 11835 return c 11836 } 11837 11838 // Context sets the context to be used in this call's Do method. 11839 func (c *ProjectsLocationsFilesAnnotateCall) Context(ctx context.Context) *ProjectsLocationsFilesAnnotateCall { 11840 c.ctx_ = ctx 11841 return c 11842 } 11843 11844 // Header returns a http.Header that can be modified by the caller to add 11845 // headers to the request. 11846 func (c *ProjectsLocationsFilesAnnotateCall) Header() http.Header { 11847 if c.header_ == nil { 11848 c.header_ = make(http.Header) 11849 } 11850 return c.header_ 11851 } 11852 11853 func (c *ProjectsLocationsFilesAnnotateCall) doRequest(alt string) (*http.Response, error) { 11854 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 11855 var body io.Reader = nil 11856 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1batchannotatefilesrequest) 11857 if err != nil { 11858 return nil, err 11859 } 11860 c.urlParams_.Set("alt", alt) 11861 c.urlParams_.Set("prettyPrint", "false") 11862 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/{+parent}/files:annotate") 11863 urls += "?" + c.urlParams_.Encode() 11864 req, err := http.NewRequest("POST", urls, body) 11865 if err != nil { 11866 return nil, err 11867 } 11868 req.Header = reqHeaders 11869 googleapi.Expand(req.URL, map[string]string{ 11870 "parent": c.parent, 11871 }) 11872 return gensupport.SendRequest(c.ctx_, c.s.client, req) 11873 } 11874 11875 // Do executes the "vision.projects.locations.files.annotate" call. 11876 // Any non-2xx status code is an error. Response headers are in either 11877 // *GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse.ServerResponse.Header 11878 // or (if a response was returned at all) in error.(*googleapi.Error).Header. 11879 // Use googleapi.IsNotModified to check whether the returned error was because 11880 // http.StatusNotModified was returned. 11881 func (c *ProjectsLocationsFilesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse, error) { 11882 gensupport.SetOptions(c.urlParams_, opts...) 11883 res, err := c.doRequest("json") 11884 if res != nil && res.StatusCode == http.StatusNotModified { 11885 if res.Body != nil { 11886 res.Body.Close() 11887 } 11888 return nil, gensupport.WrapError(&googleapi.Error{ 11889 Code: res.StatusCode, 11890 Header: res.Header, 11891 }) 11892 } 11893 if err != nil { 11894 return nil, err 11895 } 11896 defer googleapi.CloseBody(res) 11897 if err := googleapi.CheckResponse(res); err != nil { 11898 return nil, gensupport.WrapError(err) 11899 } 11900 ret := &GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse{ 11901 ServerResponse: googleapi.ServerResponse{ 11902 Header: res.Header, 11903 HTTPStatusCode: res.StatusCode, 11904 }, 11905 } 11906 target := &ret 11907 if err := gensupport.DecodeResponse(target, res); err != nil { 11908 return nil, err 11909 } 11910 return ret, nil 11911 } 11912 11913 type ProjectsLocationsFilesAsyncBatchAnnotateCall struct { 11914 s *Service 11915 parent string 11916 googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest 11917 urlParams_ gensupport.URLParams 11918 ctx_ context.Context 11919 header_ http.Header 11920 } 11921 11922 // AsyncBatchAnnotate: Run asynchronous image detection and annotation for a 11923 // list of generic files, such as PDF files, which may contain multiple pages 11924 // and multiple images per page. Progress and results can be retrieved through 11925 // the `google.longrunning.Operations` interface. `Operation.metadata` contains 11926 // `OperationMetadata` (metadata). `Operation.response` contains 11927 // `AsyncBatchAnnotateFilesResponse` (results). 11928 // 11929 // - parent: Optional. Target project and location to make a call. Format: 11930 // `projects/{project-id}/locations/{location-id}`. If no parent is 11931 // specified, a region will be chosen automatically. Supported location-ids: 11932 // `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: 11933 // The European Union. Example: `projects/project-A/locations/eu`. 11934 func (r *ProjectsLocationsFilesService) AsyncBatchAnnotate(parent string, googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest) *ProjectsLocationsFilesAsyncBatchAnnotateCall { 11935 c := &ProjectsLocationsFilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 11936 c.parent = parent 11937 c.googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest = googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest 11938 return c 11939 } 11940 11941 // Fields allows partial responses to be retrieved. See 11942 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 11943 // details. 11944 func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFilesAsyncBatchAnnotateCall { 11945 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 11946 return c 11947 } 11948 11949 // Context sets the context to be used in this call's Do method. 11950 func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsLocationsFilesAsyncBatchAnnotateCall { 11951 c.ctx_ = ctx 11952 return c 11953 } 11954 11955 // Header returns a http.Header that can be modified by the caller to add 11956 // headers to the request. 11957 func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Header() http.Header { 11958 if c.header_ == nil { 11959 c.header_ = make(http.Header) 11960 } 11961 return c.header_ 11962 } 11963 11964 func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 11965 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 11966 var body io.Reader = nil 11967 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1asyncbatchannotatefilesrequest) 11968 if err != nil { 11969 return nil, err 11970 } 11971 c.urlParams_.Set("alt", alt) 11972 c.urlParams_.Set("prettyPrint", "false") 11973 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/{+parent}/files:asyncBatchAnnotate") 11974 urls += "?" + c.urlParams_.Encode() 11975 req, err := http.NewRequest("POST", urls, body) 11976 if err != nil { 11977 return nil, err 11978 } 11979 req.Header = reqHeaders 11980 googleapi.Expand(req.URL, map[string]string{ 11981 "parent": c.parent, 11982 }) 11983 return gensupport.SendRequest(c.ctx_, c.s.client, req) 11984 } 11985 11986 // Do executes the "vision.projects.locations.files.asyncBatchAnnotate" call. 11987 // Any non-2xx status code is an error. Response headers are in either 11988 // *Operation.ServerResponse.Header or (if a response was returned at all) in 11989 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 11990 // whether the returned error was because http.StatusNotModified was returned. 11991 func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 11992 gensupport.SetOptions(c.urlParams_, opts...) 11993 res, err := c.doRequest("json") 11994 if res != nil && res.StatusCode == http.StatusNotModified { 11995 if res.Body != nil { 11996 res.Body.Close() 11997 } 11998 return nil, gensupport.WrapError(&googleapi.Error{ 11999 Code: res.StatusCode, 12000 Header: res.Header, 12001 }) 12002 } 12003 if err != nil { 12004 return nil, err 12005 } 12006 defer googleapi.CloseBody(res) 12007 if err := googleapi.CheckResponse(res); err != nil { 12008 return nil, gensupport.WrapError(err) 12009 } 12010 ret := &Operation{ 12011 ServerResponse: googleapi.ServerResponse{ 12012 Header: res.Header, 12013 HTTPStatusCode: res.StatusCode, 12014 }, 12015 } 12016 target := &ret 12017 if err := gensupport.DecodeResponse(target, res); err != nil { 12018 return nil, err 12019 } 12020 return ret, nil 12021 } 12022 12023 type ProjectsLocationsImagesAnnotateCall struct { 12024 s *Service 12025 parent string 12026 googlecloudvisionv1p1beta1batchannotateimagesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest 12027 urlParams_ gensupport.URLParams 12028 ctx_ context.Context 12029 header_ http.Header 12030 } 12031 12032 // Annotate: Run image detection and annotation for a batch of images. 12033 // 12034 // - parent: Optional. Target project and location to make a call. Format: 12035 // `projects/{project-id}/locations/{location-id}`. If no parent is 12036 // specified, a region will be chosen automatically. Supported location-ids: 12037 // `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: 12038 // The European Union. Example: `projects/project-A/locations/eu`. 12039 func (r *ProjectsLocationsImagesService) Annotate(parent string, googlecloudvisionv1p1beta1batchannotateimagesrequest *GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest) *ProjectsLocationsImagesAnnotateCall { 12040 c := &ProjectsLocationsImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 12041 c.parent = parent 12042 c.googlecloudvisionv1p1beta1batchannotateimagesrequest = googlecloudvisionv1p1beta1batchannotateimagesrequest 12043 return c 12044 } 12045 12046 // Fields allows partial responses to be retrieved. See 12047 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 12048 // details. 12049 func (c *ProjectsLocationsImagesAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsImagesAnnotateCall { 12050 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 12051 return c 12052 } 12053 12054 // Context sets the context to be used in this call's Do method. 12055 func (c *ProjectsLocationsImagesAnnotateCall) Context(ctx context.Context) *ProjectsLocationsImagesAnnotateCall { 12056 c.ctx_ = ctx 12057 return c 12058 } 12059 12060 // Header returns a http.Header that can be modified by the caller to add 12061 // headers to the request. 12062 func (c *ProjectsLocationsImagesAnnotateCall) Header() http.Header { 12063 if c.header_ == nil { 12064 c.header_ = make(http.Header) 12065 } 12066 return c.header_ 12067 } 12068 12069 func (c *ProjectsLocationsImagesAnnotateCall) doRequest(alt string) (*http.Response, error) { 12070 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 12071 var body io.Reader = nil 12072 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1batchannotateimagesrequest) 12073 if err != nil { 12074 return nil, err 12075 } 12076 c.urlParams_.Set("alt", alt) 12077 c.urlParams_.Set("prettyPrint", "false") 12078 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/{+parent}/images:annotate") 12079 urls += "?" + c.urlParams_.Encode() 12080 req, err := http.NewRequest("POST", urls, body) 12081 if err != nil { 12082 return nil, err 12083 } 12084 req.Header = reqHeaders 12085 googleapi.Expand(req.URL, map[string]string{ 12086 "parent": c.parent, 12087 }) 12088 return gensupport.SendRequest(c.ctx_, c.s.client, req) 12089 } 12090 12091 // Do executes the "vision.projects.locations.images.annotate" call. 12092 // Any non-2xx status code is an error. Response headers are in either 12093 // *GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse.ServerResponse.Header 12094 // or (if a response was returned at all) in error.(*googleapi.Error).Header. 12095 // Use googleapi.IsNotModified to check whether the returned error was because 12096 // http.StatusNotModified was returned. 12097 func (c *ProjectsLocationsImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse, error) { 12098 gensupport.SetOptions(c.urlParams_, opts...) 12099 res, err := c.doRequest("json") 12100 if res != nil && res.StatusCode == http.StatusNotModified { 12101 if res.Body != nil { 12102 res.Body.Close() 12103 } 12104 return nil, gensupport.WrapError(&googleapi.Error{ 12105 Code: res.StatusCode, 12106 Header: res.Header, 12107 }) 12108 } 12109 if err != nil { 12110 return nil, err 12111 } 12112 defer googleapi.CloseBody(res) 12113 if err := googleapi.CheckResponse(res); err != nil { 12114 return nil, gensupport.WrapError(err) 12115 } 12116 ret := &GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse{ 12117 ServerResponse: googleapi.ServerResponse{ 12118 Header: res.Header, 12119 HTTPStatusCode: res.StatusCode, 12120 }, 12121 } 12122 target := &ret 12123 if err := gensupport.DecodeResponse(target, res); err != nil { 12124 return nil, err 12125 } 12126 return ret, nil 12127 } 12128 12129 type ProjectsLocationsImagesAsyncBatchAnnotateCall struct { 12130 s *Service 12131 parent string 12132 googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest 12133 urlParams_ gensupport.URLParams 12134 ctx_ context.Context 12135 header_ http.Header 12136 } 12137 12138 // AsyncBatchAnnotate: Run asynchronous image detection and annotation for a 12139 // list of images. Progress and results can be retrieved through the 12140 // `google.longrunning.Operations` interface. `Operation.metadata` contains 12141 // `OperationMetadata` (metadata). `Operation.response` contains 12142 // `AsyncBatchAnnotateImagesResponse` (results). This service will write image 12143 // annotation outputs to json files in customer GCS bucket, each json file 12144 // containing BatchAnnotateImagesResponse proto. 12145 // 12146 // - parent: Optional. Target project and location to make a call. Format: 12147 // `projects/{project-id}/locations/{location-id}`. If no parent is 12148 // specified, a region will be chosen automatically. Supported location-ids: 12149 // `us`: USA country only, `asia`: East asia areas, like Japan, Taiwan, `eu`: 12150 // The European Union. Example: `projects/project-A/locations/eu`. 12151 func (r *ProjectsLocationsImagesService) AsyncBatchAnnotate(parent string, googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest) *ProjectsLocationsImagesAsyncBatchAnnotateCall { 12152 c := &ProjectsLocationsImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 12153 c.parent = parent 12154 c.googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest = googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest 12155 return c 12156 } 12157 12158 // Fields allows partial responses to be retrieved. See 12159 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more 12160 // details. 12161 func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ProjectsLocationsImagesAsyncBatchAnnotateCall { 12162 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 12163 return c 12164 } 12165 12166 // Context sets the context to be used in this call's Do method. 12167 func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ProjectsLocationsImagesAsyncBatchAnnotateCall { 12168 c.ctx_ = ctx 12169 return c 12170 } 12171 12172 // Header returns a http.Header that can be modified by the caller to add 12173 // headers to the request. 12174 func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Header() http.Header { 12175 if c.header_ == nil { 12176 c.header_ = make(http.Header) 12177 } 12178 return c.header_ 12179 } 12180 12181 func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 12182 reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) 12183 var body io.Reader = nil 12184 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p1beta1asyncbatchannotateimagesrequest) 12185 if err != nil { 12186 return nil, err 12187 } 12188 c.urlParams_.Set("alt", alt) 12189 c.urlParams_.Set("prettyPrint", "false") 12190 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p1beta1/{+parent}/images:asyncBatchAnnotate") 12191 urls += "?" + c.urlParams_.Encode() 12192 req, err := http.NewRequest("POST", urls, body) 12193 if err != nil { 12194 return nil, err 12195 } 12196 req.Header = reqHeaders 12197 googleapi.Expand(req.URL, map[string]string{ 12198 "parent": c.parent, 12199 }) 12200 return gensupport.SendRequest(c.ctx_, c.s.client, req) 12201 } 12202 12203 // Do executes the "vision.projects.locations.images.asyncBatchAnnotate" call. 12204 // Any non-2xx status code is an error. Response headers are in either 12205 // *Operation.ServerResponse.Header or (if a response was returned at all) in 12206 // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 12207 // whether the returned error was because http.StatusNotModified was returned. 12208 func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 12209 gensupport.SetOptions(c.urlParams_, opts...) 12210 res, err := c.doRequest("json") 12211 if res != nil && res.StatusCode == http.StatusNotModified { 12212 if res.Body != nil { 12213 res.Body.Close() 12214 } 12215 return nil, gensupport.WrapError(&googleapi.Error{ 12216 Code: res.StatusCode, 12217 Header: res.Header, 12218 }) 12219 } 12220 if err != nil { 12221 return nil, err 12222 } 12223 defer googleapi.CloseBody(res) 12224 if err := googleapi.CheckResponse(res); err != nil { 12225 return nil, gensupport.WrapError(err) 12226 } 12227 ret := &Operation{ 12228 ServerResponse: googleapi.ServerResponse{ 12229 Header: res.Header, 12230 HTTPStatusCode: res.StatusCode, 12231 }, 12232 } 12233 target := &ret 12234 if err := gensupport.DecodeResponse(target, res); err != nil { 12235 return nil, err 12236 } 12237 return ret, nil 12238 } 12239