1// Copyright 2019 Google LLC. 2// Use of this source code is governed by a BSD-style 3// license that can be found in the LICENSE file. 4 5// Code generated file. DO NOT EDIT. 6 7// Package vision provides access to the Cloud Vision API. 8// 9// This package is DEPRECATED. Use package cloud.google.com/go/vision/apiv1 instead. 10// 11// For product documentation, see: https://cloud.google.com/vision/ 12// 13// Creating a client 14// 15// Usage example: 16// 17// import "google.golang.org/api/vision/v1p2beta1" 18// ... 19// ctx := context.Background() 20// visionService, err := vision.NewService(ctx) 21// 22// In this example, Google Application Default Credentials are used for authentication. 23// 24// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. 25// 26// Other authentication options 27// 28// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes: 29// 30// visionService, err := vision.NewService(ctx, option.WithScopes(vision.CloudVisionScope)) 31// 32// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: 33// 34// visionService, err := vision.NewService(ctx, option.WithAPIKey("AIza...")) 35// 36// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: 37// 38// config := &oauth2.Config{...} 39// // ... 40// token, err := config.Exchange(ctx, ...) 41// visionService, err := vision.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) 42// 43// See https://godoc.org/google.golang.org/api/option/ for details on options. 44package vision // import "google.golang.org/api/vision/v1p2beta1" 45 46import ( 47 "bytes" 48 "context" 49 "encoding/json" 50 "errors" 51 "fmt" 52 "io" 53 "net/http" 54 "net/url" 55 "strconv" 56 "strings" 57 58 gensupport "google.golang.org/api/gensupport" 59 googleapi "google.golang.org/api/googleapi" 60 option "google.golang.org/api/option" 61 htransport "google.golang.org/api/transport/http" 62) 63 64// Always reference these packages, just in case the auto-generated code 65// below doesn't. 66var _ = bytes.NewBuffer 67var _ = strconv.Itoa 68var _ = fmt.Sprintf 69var _ = json.NewDecoder 70var _ = io.Copy 71var _ = url.Parse 72var _ = gensupport.MarshalJSON 73var _ = googleapi.Version 74var _ = errors.New 75var _ = strings.Replace 76var _ = context.Canceled 77 78const apiId = "vision:v1p2beta1" 79const apiName = "vision" 80const apiVersion = "v1p2beta1" 81const basePath = "https://vision.googleapis.com/" 82 83// OAuth2 scopes used by this API. 84const ( 85 // View and manage your data across Google Cloud Platform services 86 CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" 87 88 // Apply machine learning models to understand and label images 89 CloudVisionScope = "https://www.googleapis.com/auth/cloud-vision" 90) 91 92// NewService creates a new Service. 93func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { 94 scopesOption := option.WithScopes( 95 "https://www.googleapis.com/auth/cloud-platform", 96 "https://www.googleapis.com/auth/cloud-vision", 97 ) 98 // NOTE: prepend, so we don't override user-specified scopes. 99 opts = append([]option.ClientOption{scopesOption}, opts...) 100 client, endpoint, err := htransport.NewClient(ctx, opts...) 101 if err != nil { 102 return nil, err 103 } 104 s, err := New(client) 105 if err != nil { 106 return nil, err 107 } 108 if endpoint != "" { 109 s.BasePath = endpoint 110 } 111 return s, nil 112} 113 114// New creates a new Service. It uses the provided http.Client for requests. 115// 116// Deprecated: please use NewService instead. 117// To provide a custom HTTP client, use option.WithHTTPClient. 118// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. 119func New(client *http.Client) (*Service, error) { 120 if client == nil { 121 return nil, errors.New("client is nil") 122 } 123 s := &Service{client: client, BasePath: basePath} 124 s.Files = NewFilesService(s) 125 s.Images = NewImagesService(s) 126 return s, nil 127} 128 129type Service struct { 130 client *http.Client 131 BasePath string // API endpoint base URL 132 UserAgent string // optional additional User-Agent fragment 133 134 Files *FilesService 135 136 Images *ImagesService 137} 138 139func (s *Service) userAgent() string { 140 if s.UserAgent == "" { 141 return googleapi.UserAgent 142 } 143 return googleapi.UserAgent + " " + s.UserAgent 144} 145 146func NewFilesService(s *Service) *FilesService { 147 rs := &FilesService{s: s} 148 return rs 149} 150 151type FilesService struct { 152 s *Service 153} 154 155func NewImagesService(s *Service) *ImagesService { 156 rs := &ImagesService{s: s} 157 return rs 158} 159 160type ImagesService struct { 161 s *Service 162} 163 164// AnnotateFileResponse: Response to a single file annotation request. A 165// file may contain one or more 166// images, which individually have their own responses. 167type AnnotateFileResponse struct { 168 // InputConfig: Information about the file for which this response is 169 // generated. 170 InputConfig *InputConfig `json:"inputConfig,omitempty"` 171 172 // Responses: Individual responses to images found within the file. 173 Responses []*AnnotateImageResponse `json:"responses,omitempty"` 174 175 // TotalPages: This field gives the total number of pages in the file. 176 TotalPages int64 `json:"totalPages,omitempty"` 177 178 // ForceSendFields is a list of field names (e.g. "InputConfig") to 179 // unconditionally include in API requests. By default, fields with 180 // empty values are omitted from API requests. However, any non-pointer, 181 // non-interface field appearing in ForceSendFields will be sent to the 182 // server regardless of whether the field is empty or not. This may be 183 // used to include empty fields in Patch requests. 184 ForceSendFields []string `json:"-"` 185 186 // NullFields is a list of field names (e.g. "InputConfig") to include 187 // in API requests with the JSON null value. By default, fields with 188 // empty values are omitted from API requests. However, any field with 189 // an empty value appearing in NullFields will be sent to the server as 190 // null. It is an error if a field in this list has a non-empty value. 191 // This may be used to include null fields in Patch requests. 192 NullFields []string `json:"-"` 193} 194 195func (s *AnnotateFileResponse) MarshalJSON() ([]byte, error) { 196 type NoMethod AnnotateFileResponse 197 raw := NoMethod(*s) 198 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 199} 200 201// AnnotateImageResponse: Response to an image annotation request. 202type AnnotateImageResponse struct { 203 // Context: If present, contextual information is needed to understand 204 // where this image 205 // comes from. 206 Context *ImageAnnotationContext `json:"context,omitempty"` 207 208 // CropHintsAnnotation: If present, crop hints have completed 209 // successfully. 210 CropHintsAnnotation *CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 211 212 // Error: If set, represents the error message for the operation. 213 // Note that filled-in image annotations are guaranteed to be 214 // correct, even when `error` is set. 215 Error *Status `json:"error,omitempty"` 216 217 // FaceAnnotations: If present, face detection has completed 218 // successfully. 219 FaceAnnotations []*FaceAnnotation `json:"faceAnnotations,omitempty"` 220 221 // FullTextAnnotation: If present, text (OCR) detection or document 222 // (OCR) text detection has 223 // completed successfully. 224 // This annotation provides the structural hierarchy for the OCR 225 // detected 226 // text. 227 FullTextAnnotation *TextAnnotation `json:"fullTextAnnotation,omitempty"` 228 229 // ImagePropertiesAnnotation: If present, image properties were 230 // extracted successfully. 231 ImagePropertiesAnnotation *ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 232 233 // LabelAnnotations: If present, label detection has completed 234 // successfully. 235 LabelAnnotations []*EntityAnnotation `json:"labelAnnotations,omitempty"` 236 237 // LandmarkAnnotations: If present, landmark detection has completed 238 // successfully. 239 LandmarkAnnotations []*EntityAnnotation `json:"landmarkAnnotations,omitempty"` 240 241 // LocalizedObjectAnnotations: If present, localized object detection 242 // has completed successfully. 243 // This will be sorted descending by confidence score. 244 LocalizedObjectAnnotations []*LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 245 246 // LogoAnnotations: If present, logo detection has completed 247 // successfully. 248 LogoAnnotations []*EntityAnnotation `json:"logoAnnotations,omitempty"` 249 250 // ProductSearchResults: If present, product search has completed 251 // successfully. 252 ProductSearchResults *ProductSearchResults `json:"productSearchResults,omitempty"` 253 254 // SafeSearchAnnotation: If present, safe-search annotation has 255 // completed successfully. 256 SafeSearchAnnotation *SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 257 258 // TextAnnotations: If present, text (OCR) detection has completed 259 // successfully. 260 TextAnnotations []*EntityAnnotation `json:"textAnnotations,omitempty"` 261 262 // WebDetection: If present, web detection has completed successfully. 263 WebDetection *WebDetection `json:"webDetection,omitempty"` 264 265 // ForceSendFields is a list of field names (e.g. "Context") to 266 // unconditionally include in API requests. By default, fields with 267 // empty values are omitted from API requests. However, any non-pointer, 268 // non-interface field appearing in ForceSendFields will be sent to the 269 // server regardless of whether the field is empty or not. This may be 270 // used to include empty fields in Patch requests. 271 ForceSendFields []string `json:"-"` 272 273 // NullFields is a list of field names (e.g. "Context") to include in 274 // API requests with the JSON null value. By default, fields with empty 275 // values are omitted from API requests. However, any field with an 276 // empty value appearing in NullFields will be sent to the server as 277 // null. It is an error if a field in this list has a non-empty value. 278 // This may be used to include null fields in Patch requests. 279 NullFields []string `json:"-"` 280} 281 282func (s *AnnotateImageResponse) MarshalJSON() ([]byte, error) { 283 type NoMethod AnnotateImageResponse 284 raw := NoMethod(*s) 285 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 286} 287 288// AsyncAnnotateFileResponse: The response for a single offline file 289// annotation request. 290type AsyncAnnotateFileResponse struct { 291 // OutputConfig: The output location and metadata from 292 // AsyncAnnotateFileRequest. 293 OutputConfig *OutputConfig `json:"outputConfig,omitempty"` 294 295 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 296 // unconditionally include in API requests. By default, fields with 297 // empty values are omitted from API requests. However, any non-pointer, 298 // non-interface field appearing in ForceSendFields will be sent to the 299 // server regardless of whether the field is empty or not. This may be 300 // used to include empty fields in Patch requests. 301 ForceSendFields []string `json:"-"` 302 303 // NullFields is a list of field names (e.g. "OutputConfig") to include 304 // in API requests with the JSON null value. By default, fields with 305 // empty values are omitted from API requests. However, any field with 306 // an empty value appearing in NullFields will be sent to the server as 307 // null. It is an error if a field in this list has a non-empty value. 308 // This may be used to include null fields in Patch requests. 309 NullFields []string `json:"-"` 310} 311 312func (s *AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 313 type NoMethod AsyncAnnotateFileResponse 314 raw := NoMethod(*s) 315 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 316} 317 318// AsyncBatchAnnotateFilesResponse: Response to an async batch file 319// annotation request. 320type AsyncBatchAnnotateFilesResponse struct { 321 // Responses: The list of file annotation responses, one for each 322 // request in 323 // AsyncBatchAnnotateFilesRequest. 324 Responses []*AsyncAnnotateFileResponse `json:"responses,omitempty"` 325 326 // ForceSendFields is a list of field names (e.g. "Responses") to 327 // unconditionally include in API requests. By default, fields with 328 // empty values are omitted from API requests. However, any non-pointer, 329 // non-interface field appearing in ForceSendFields will be sent to the 330 // server regardless of whether the field is empty or not. This may be 331 // used to include empty fields in Patch requests. 332 ForceSendFields []string `json:"-"` 333 334 // NullFields is a list of field names (e.g. "Responses") to include in 335 // API requests with the JSON null value. By default, fields with empty 336 // values are omitted from API requests. However, any field with an 337 // empty value appearing in NullFields will be sent to the server as 338 // null. It is an error if a field in this list has a non-empty value. 339 // This may be used to include null fields in Patch requests. 340 NullFields []string `json:"-"` 341} 342 343func (s *AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 344 type NoMethod AsyncBatchAnnotateFilesResponse 345 raw := NoMethod(*s) 346 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 347} 348 349// AsyncBatchAnnotateImagesResponse: Response to an async batch image 350// annotation request. 351type AsyncBatchAnnotateImagesResponse struct { 352 // OutputConfig: The output location and metadata from 353 // AsyncBatchAnnotateImagesRequest. 354 OutputConfig *OutputConfig `json:"outputConfig,omitempty"` 355 356 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 357 // unconditionally include in API requests. By default, fields with 358 // empty values are omitted from API requests. However, any non-pointer, 359 // non-interface field appearing in ForceSendFields will be sent to the 360 // server regardless of whether the field is empty or not. This may be 361 // used to include empty fields in Patch requests. 362 ForceSendFields []string `json:"-"` 363 364 // NullFields is a list of field names (e.g. "OutputConfig") to include 365 // in API requests with the JSON null value. By default, fields with 366 // empty values are omitted from API requests. However, any field with 367 // an empty value appearing in NullFields will be sent to the server as 368 // null. It is an error if a field in this list has a non-empty value. 369 // This may be used to include null fields in Patch requests. 370 NullFields []string `json:"-"` 371} 372 373func (s *AsyncBatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 374 type NoMethod AsyncBatchAnnotateImagesResponse 375 raw := NoMethod(*s) 376 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 377} 378 379// BatchAnnotateFilesResponse: A list of file annotation responses. 380type BatchAnnotateFilesResponse struct { 381 // Responses: The list of file annotation responses, each response 382 // corresponding to each 383 // AnnotateFileRequest in BatchAnnotateFilesRequest. 384 Responses []*AnnotateFileResponse `json:"responses,omitempty"` 385 386 // ForceSendFields is a list of field names (e.g. "Responses") to 387 // unconditionally include in API requests. By default, fields with 388 // empty values are omitted from API requests. However, any non-pointer, 389 // non-interface field appearing in ForceSendFields will be sent to the 390 // server regardless of whether the field is empty or not. This may be 391 // used to include empty fields in Patch requests. 392 ForceSendFields []string `json:"-"` 393 394 // NullFields is a list of field names (e.g. "Responses") to include in 395 // API requests with the JSON null value. By default, fields with empty 396 // values are omitted from API requests. However, any field with an 397 // empty value appearing in NullFields will be sent to the server as 398 // null. It is an error if a field in this list has a non-empty value. 399 // This may be used to include null fields in Patch requests. 400 NullFields []string `json:"-"` 401} 402 403func (s *BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 404 type NoMethod BatchAnnotateFilesResponse 405 raw := NoMethod(*s) 406 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 407} 408 409// BatchOperationMetadata: Metadata for the batch operations such as the 410// current state. 411// 412// This is included in the `metadata` field of the `Operation` returned 413// by the 414// `GetOperation` call of the `google::longrunning::Operations` service. 415type BatchOperationMetadata struct { 416 // EndTime: The time when the batch request is finished 417 // and 418 // google.longrunning.Operation.done is set to true. 419 EndTime string `json:"endTime,omitempty"` 420 421 // State: The current state of the batch operation. 422 // 423 // Possible values: 424 // "STATE_UNSPECIFIED" - Invalid. 425 // "PROCESSING" - Request is actively being processed. 426 // "SUCCESSFUL" - The request is done and at least one item has been 427 // successfully 428 // processed. 429 // "FAILED" - The request is done and no item has been successfully 430 // processed. 431 // "CANCELLED" - The request is done after the 432 // longrunning.Operations.CancelOperation has 433 // been called by the user. Any records that were processed before 434 // the 435 // cancel command are output as specified in the request. 436 State string `json:"state,omitempty"` 437 438 // SubmitTime: The time when the batch request was submitted to the 439 // server. 440 SubmitTime string `json:"submitTime,omitempty"` 441 442 // ForceSendFields is a list of field names (e.g. "EndTime") to 443 // unconditionally include in API requests. By default, fields with 444 // empty values are omitted from API requests. However, any non-pointer, 445 // non-interface field appearing in ForceSendFields will be sent to the 446 // server regardless of whether the field is empty or not. This may be 447 // used to include empty fields in Patch requests. 448 ForceSendFields []string `json:"-"` 449 450 // NullFields is a list of field names (e.g. "EndTime") to include in 451 // API requests with the JSON null value. By default, fields with empty 452 // values are omitted from API requests. However, any field with an 453 // empty value appearing in NullFields will be sent to the server as 454 // null. It is an error if a field in this list has a non-empty value. 455 // This may be used to include null fields in Patch requests. 456 NullFields []string `json:"-"` 457} 458 459func (s *BatchOperationMetadata) MarshalJSON() ([]byte, error) { 460 type NoMethod BatchOperationMetadata 461 raw := NoMethod(*s) 462 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 463} 464 465// Block: Logical element on the page. 466type Block struct { 467 // BlockType: Detected block type (text, image etc) for this block. 468 // 469 // Possible values: 470 // "UNKNOWN" - Unknown block type. 471 // "TEXT" - Regular text block. 472 // "TABLE" - Table block. 473 // "PICTURE" - Image block. 474 // "RULER" - Horizontal/vertical line box. 475 // "BARCODE" - Barcode block. 476 BlockType string `json:"blockType,omitempty"` 477 478 // BoundingBox: The bounding box for the block. 479 // The vertices are in the order of top-left, top-right, 480 // bottom-right, 481 // bottom-left. When a rotation of the bounding box is detected the 482 // rotation 483 // is represented as around the top-left corner as defined when the text 484 // is 485 // read in the 'natural' orientation. 486 // For example: 487 // 488 // * when the text is horizontal it might look like: 489 // 490 // 0----1 491 // | | 492 // 3----2 493 // 494 // * when it's rotated 180 degrees around the top-left corner it 495 // becomes: 496 // 497 // 2----3 498 // | | 499 // 1----0 500 // 501 // and the vertex order will still be (0, 1, 2, 3). 502 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 503 504 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 505 Confidence float64 `json:"confidence,omitempty"` 506 507 // Paragraphs: List of paragraphs in this block (if this blocks is of 508 // type text). 509 Paragraphs []*Paragraph `json:"paragraphs,omitempty"` 510 511 // Property: Additional information detected for the block. 512 Property *TextProperty `json:"property,omitempty"` 513 514 // ForceSendFields is a list of field names (e.g. "BlockType") to 515 // unconditionally include in API requests. By default, fields with 516 // empty values are omitted from API requests. However, any non-pointer, 517 // non-interface field appearing in ForceSendFields will be sent to the 518 // server regardless of whether the field is empty or not. This may be 519 // used to include empty fields in Patch requests. 520 ForceSendFields []string `json:"-"` 521 522 // NullFields is a list of field names (e.g. "BlockType") to include in 523 // API requests with the JSON null value. By default, fields with empty 524 // values are omitted from API requests. However, any field with an 525 // empty value appearing in NullFields will be sent to the server as 526 // null. It is an error if a field in this list has a non-empty value. 527 // This may be used to include null fields in Patch requests. 528 NullFields []string `json:"-"` 529} 530 531func (s *Block) MarshalJSON() ([]byte, error) { 532 type NoMethod Block 533 raw := NoMethod(*s) 534 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 535} 536 537func (s *Block) UnmarshalJSON(data []byte) error { 538 type NoMethod Block 539 var s1 struct { 540 Confidence gensupport.JSONFloat64 `json:"confidence"` 541 *NoMethod 542 } 543 s1.NoMethod = (*NoMethod)(s) 544 if err := json.Unmarshal(data, &s1); err != nil { 545 return err 546 } 547 s.Confidence = float64(s1.Confidence) 548 return nil 549} 550 551// BoundingPoly: A bounding polygon for the detected image annotation. 552type BoundingPoly struct { 553 // NormalizedVertices: The bounding polygon normalized vertices. 554 NormalizedVertices []*NormalizedVertex `json:"normalizedVertices,omitempty"` 555 556 // Vertices: The bounding polygon vertices. 557 Vertices []*Vertex `json:"vertices,omitempty"` 558 559 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 560 // to unconditionally include in API requests. By default, fields with 561 // empty values are omitted from API requests. However, any non-pointer, 562 // non-interface field appearing in ForceSendFields will be sent to the 563 // server regardless of whether the field is empty or not. This may be 564 // used to include empty fields in Patch requests. 565 ForceSendFields []string `json:"-"` 566 567 // NullFields is a list of field names (e.g. "NormalizedVertices") to 568 // include in API requests with the JSON null value. By default, fields 569 // with empty values are omitted from API requests. However, any field 570 // with an empty value appearing in NullFields will be sent to the 571 // server as null. It is an error if a field in this list has a 572 // non-empty value. This may be used to include null fields in Patch 573 // requests. 574 NullFields []string `json:"-"` 575} 576 577func (s *BoundingPoly) MarshalJSON() ([]byte, error) { 578 type NoMethod BoundingPoly 579 raw := NoMethod(*s) 580 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 581} 582 583// Color: Represents a color in the RGBA color space. This 584// representation is designed 585// for simplicity of conversion to/from color representations in 586// various 587// languages over compactness; for example, the fields of this 588// representation 589// can be trivially provided to the constructor of "java.awt.Color" in 590// Java; it 591// can also be trivially provided to UIColor's 592// "+colorWithRed:green:blue:alpha" 593// method in iOS; and, with just a little work, it can be easily 594// formatted into 595// a CSS "rgba()" string in JavaScript, as well. 596// 597// Note: this proto does not carry information about the absolute color 598// space 599// that should be used to interpret the RGB value (e.g. sRGB, Adobe 600// RGB, 601// DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the 602// sRGB color 603// space. 604// 605// Example (Java): 606// 607// import com.google.type.Color; 608// 609// // ... 610// public static java.awt.Color fromProto(Color protocolor) { 611// float alpha = protocolor.hasAlpha() 612// ? protocolor.getAlpha().getValue() 613// : 1.0; 614// 615// return new java.awt.Color( 616// protocolor.getRed(), 617// protocolor.getGreen(), 618// protocolor.getBlue(), 619// alpha); 620// } 621// 622// public static Color toProto(java.awt.Color color) { 623// float red = (float) color.getRed(); 624// float green = (float) color.getGreen(); 625// float blue = (float) color.getBlue(); 626// float denominator = 255.0; 627// Color.Builder resultBuilder = 628// Color 629// .newBuilder() 630// .setRed(red / denominator) 631// .setGreen(green / denominator) 632// .setBlue(blue / denominator); 633// int alpha = color.getAlpha(); 634// if (alpha != 255) { 635// result.setAlpha( 636// FloatValue 637// .newBuilder() 638// .setValue(((float) alpha) / denominator) 639// .build()); 640// } 641// return resultBuilder.build(); 642// } 643// // ... 644// 645// Example (iOS / Obj-C): 646// 647// // ... 648// static UIColor* fromProto(Color* protocolor) { 649// float red = [protocolor red]; 650// float green = [protocolor green]; 651// float blue = [protocolor blue]; 652// FloatValue* alpha_wrapper = [protocolor alpha]; 653// float alpha = 1.0; 654// if (alpha_wrapper != nil) { 655// alpha = [alpha_wrapper value]; 656// } 657// return [UIColor colorWithRed:red green:green blue:blue 658// alpha:alpha]; 659// } 660// 661// static Color* toProto(UIColor* color) { 662// CGFloat red, green, blue, alpha; 663// if (![color getRed:&red green:&green blue:&blue 664// alpha:&alpha]) { 665// return nil; 666// } 667// Color* result = [[Color alloc] init]; 668// [result setRed:red]; 669// [result setGreen:green]; 670// [result setBlue:blue]; 671// if (alpha <= 0.9999) { 672// [result setAlpha:floatWrapperWithValue(alpha)]; 673// } 674// [result autorelease]; 675// return result; 676// } 677// // ... 678// 679// Example (JavaScript): 680// 681// // ... 682// 683// var protoToCssColor = function(rgb_color) { 684// var redFrac = rgb_color.red || 0.0; 685// var greenFrac = rgb_color.green || 0.0; 686// var blueFrac = rgb_color.blue || 0.0; 687// var red = Math.floor(redFrac * 255); 688// var green = Math.floor(greenFrac * 255); 689// var blue = Math.floor(blueFrac * 255); 690// 691// if (!('alpha' in rgb_color)) { 692// return rgbToCssColor_(red, green, blue); 693// } 694// 695// var alphaFrac = rgb_color.alpha.value || 0.0; 696// var rgbParams = [red, green, blue].join(','); 697// return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); 698// }; 699// 700// var rgbToCssColor_ = function(red, green, blue) { 701// var rgbNumber = new Number((red << 16) | (green << 8) | blue); 702// var hexString = rgbNumber.toString(16); 703// var missingZeros = 6 - hexString.length; 704// var resultBuilder = ['#']; 705// for (var i = 0; i < missingZeros; i++) { 706// resultBuilder.push('0'); 707// } 708// resultBuilder.push(hexString); 709// return resultBuilder.join(''); 710// }; 711// 712// // ... 713type Color struct { 714 // Alpha: The fraction of this color that should be applied to the 715 // pixel. That is, 716 // the final pixel color is defined by the equation: 717 // 718 // pixel color = alpha * (this color) + (1.0 - alpha) * (background 719 // color) 720 // 721 // This means that a value of 1.0 corresponds to a solid color, 722 // whereas 723 // a value of 0.0 corresponds to a completely transparent color. 724 // This 725 // uses a wrapper message rather than a simple float scalar so that it 726 // is 727 // possible to distinguish between a default value and the value being 728 // unset. 729 // If omitted, this color object is to be rendered as a solid color 730 // (as if the alpha value had been explicitly given with a value of 731 // 1.0). 732 Alpha float64 `json:"alpha,omitempty"` 733 734 // Blue: The amount of blue in the color as a value in the interval [0, 735 // 1]. 736 Blue float64 `json:"blue,omitempty"` 737 738 // Green: The amount of green in the color as a value in the interval 739 // [0, 1]. 740 Green float64 `json:"green,omitempty"` 741 742 // Red: The amount of red in the color as a value in the interval [0, 743 // 1]. 744 Red float64 `json:"red,omitempty"` 745 746 // ForceSendFields is a list of field names (e.g. "Alpha") to 747 // unconditionally include in API requests. By default, fields with 748 // empty values are omitted from API requests. However, any non-pointer, 749 // non-interface field appearing in ForceSendFields will be sent to the 750 // server regardless of whether the field is empty or not. This may be 751 // used to include empty fields in Patch requests. 752 ForceSendFields []string `json:"-"` 753 754 // NullFields is a list of field names (e.g. "Alpha") to include in API 755 // requests with the JSON null value. By default, fields with empty 756 // values are omitted from API requests. However, any field with an 757 // empty value appearing in NullFields will be sent to the server as 758 // null. It is an error if a field in this list has a non-empty value. 759 // This may be used to include null fields in Patch requests. 760 NullFields []string `json:"-"` 761} 762 763func (s *Color) MarshalJSON() ([]byte, error) { 764 type NoMethod Color 765 raw := NoMethod(*s) 766 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 767} 768 769func (s *Color) UnmarshalJSON(data []byte) error { 770 type NoMethod Color 771 var s1 struct { 772 Alpha gensupport.JSONFloat64 `json:"alpha"` 773 Blue gensupport.JSONFloat64 `json:"blue"` 774 Green gensupport.JSONFloat64 `json:"green"` 775 Red gensupport.JSONFloat64 `json:"red"` 776 *NoMethod 777 } 778 s1.NoMethod = (*NoMethod)(s) 779 if err := json.Unmarshal(data, &s1); err != nil { 780 return err 781 } 782 s.Alpha = float64(s1.Alpha) 783 s.Blue = float64(s1.Blue) 784 s.Green = float64(s1.Green) 785 s.Red = float64(s1.Red) 786 return nil 787} 788 789// ColorInfo: Color information consists of RGB channels, score, and the 790// fraction of 791// the image that the color occupies in the image. 792type ColorInfo struct { 793 // Color: RGB components of the color. 794 Color *Color `json:"color,omitempty"` 795 796 // PixelFraction: The fraction of pixels the color occupies in the 797 // image. 798 // Value in range [0, 1]. 799 PixelFraction float64 `json:"pixelFraction,omitempty"` 800 801 // Score: Image-specific score for this color. Value in range [0, 1]. 802 Score float64 `json:"score,omitempty"` 803 804 // ForceSendFields is a list of field names (e.g. "Color") to 805 // unconditionally include in API requests. By default, fields with 806 // empty values are omitted from API requests. However, any non-pointer, 807 // non-interface field appearing in ForceSendFields will be sent to the 808 // server regardless of whether the field is empty or not. This may be 809 // used to include empty fields in Patch requests. 810 ForceSendFields []string `json:"-"` 811 812 // NullFields is a list of field names (e.g. "Color") to include in API 813 // requests with the JSON null value. By default, fields with empty 814 // values are omitted from API requests. However, any field with an 815 // empty value appearing in NullFields will be sent to the server as 816 // null. It is an error if a field in this list has a non-empty value. 817 // This may be used to include null fields in Patch requests. 818 NullFields []string `json:"-"` 819} 820 821func (s *ColorInfo) MarshalJSON() ([]byte, error) { 822 type NoMethod ColorInfo 823 raw := NoMethod(*s) 824 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 825} 826 827func (s *ColorInfo) UnmarshalJSON(data []byte) error { 828 type NoMethod ColorInfo 829 var s1 struct { 830 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 831 Score gensupport.JSONFloat64 `json:"score"` 832 *NoMethod 833 } 834 s1.NoMethod = (*NoMethod)(s) 835 if err := json.Unmarshal(data, &s1); err != nil { 836 return err 837 } 838 s.PixelFraction = float64(s1.PixelFraction) 839 s.Score = float64(s1.Score) 840 return nil 841} 842 843// CropHint: Single crop hint that is used to generate a new crop when 844// serving an image. 845type CropHint struct { 846 // BoundingPoly: The bounding polygon for the crop region. The 847 // coordinates of the bounding 848 // box are in the original image's scale. 849 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 850 851 // Confidence: Confidence of this being a salient region. Range [0, 1]. 852 Confidence float64 `json:"confidence,omitempty"` 853 854 // ImportanceFraction: Fraction of importance of this salient region 855 // with respect to the original 856 // image. 857 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 858 859 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 860 // unconditionally include in API requests. By default, fields with 861 // empty values are omitted from API requests. However, any non-pointer, 862 // non-interface field appearing in ForceSendFields will be sent to the 863 // server regardless of whether the field is empty or not. This may be 864 // used to include empty fields in Patch requests. 865 ForceSendFields []string `json:"-"` 866 867 // NullFields is a list of field names (e.g. "BoundingPoly") to include 868 // in API requests with the JSON null value. By default, fields with 869 // empty values are omitted from API requests. However, any field with 870 // an empty value appearing in NullFields will be sent to the server as 871 // null. It is an error if a field in this list has a non-empty value. 872 // This may be used to include null fields in Patch requests. 873 NullFields []string `json:"-"` 874} 875 876func (s *CropHint) MarshalJSON() ([]byte, error) { 877 type NoMethod CropHint 878 raw := NoMethod(*s) 879 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 880} 881 882func (s *CropHint) UnmarshalJSON(data []byte) error { 883 type NoMethod CropHint 884 var s1 struct { 885 Confidence gensupport.JSONFloat64 `json:"confidence"` 886 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 887 *NoMethod 888 } 889 s1.NoMethod = (*NoMethod)(s) 890 if err := json.Unmarshal(data, &s1); err != nil { 891 return err 892 } 893 s.Confidence = float64(s1.Confidence) 894 s.ImportanceFraction = float64(s1.ImportanceFraction) 895 return nil 896} 897 898// CropHintsAnnotation: Set of crop hints that are used to generate new 899// crops when serving images. 900type CropHintsAnnotation struct { 901 // CropHints: Crop hint results. 902 CropHints []*CropHint `json:"cropHints,omitempty"` 903 904 // ForceSendFields is a list of field names (e.g. "CropHints") to 905 // unconditionally include in API requests. By default, fields with 906 // empty values are omitted from API requests. However, any non-pointer, 907 // non-interface field appearing in ForceSendFields will be sent to the 908 // server regardless of whether the field is empty or not. This may be 909 // used to include empty fields in Patch requests. 910 ForceSendFields []string `json:"-"` 911 912 // NullFields is a list of field names (e.g. "CropHints") to include in 913 // API requests with the JSON null value. By default, fields with empty 914 // values are omitted from API requests. However, any field with an 915 // empty value appearing in NullFields will be sent to the server as 916 // null. It is an error if a field in this list has a non-empty value. 917 // This may be used to include null fields in Patch requests. 918 NullFields []string `json:"-"` 919} 920 921func (s *CropHintsAnnotation) MarshalJSON() ([]byte, error) { 922 type NoMethod CropHintsAnnotation 923 raw := NoMethod(*s) 924 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 925} 926 927// DetectedBreak: Detected start or end of a structural component. 928type DetectedBreak struct { 929 // IsPrefix: True if break prepends the element. 930 IsPrefix bool `json:"isPrefix,omitempty"` 931 932 // Type: Detected break type. 933 // 934 // Possible values: 935 // "UNKNOWN" - Unknown break label type. 936 // "SPACE" - Regular space. 937 // "SURE_SPACE" - Sure space (very wide). 938 // "EOL_SURE_SPACE" - Line-wrapping break. 939 // "HYPHEN" - End-line hyphen that is not present in text; does not 940 // co-occur with 941 // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 942 // "LINE_BREAK" - Line break that ends a paragraph. 943 Type string `json:"type,omitempty"` 944 945 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 946 // unconditionally include in API requests. By default, fields with 947 // empty values are omitted from API requests. However, any non-pointer, 948 // non-interface field appearing in ForceSendFields will be sent to the 949 // server regardless of whether the field is empty or not. This may be 950 // used to include empty fields in Patch requests. 951 ForceSendFields []string `json:"-"` 952 953 // NullFields is a list of field names (e.g. "IsPrefix") to include in 954 // API requests with the JSON null value. By default, fields with empty 955 // values are omitted from API requests. However, any field with an 956 // empty value appearing in NullFields will be sent to the server as 957 // null. It is an error if a field in this list has a non-empty value. 958 // This may be used to include null fields in Patch requests. 959 NullFields []string `json:"-"` 960} 961 962func (s *DetectedBreak) MarshalJSON() ([]byte, error) { 963 type NoMethod DetectedBreak 964 raw := NoMethod(*s) 965 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 966} 967 968// DetectedLanguage: Detected language for a structural component. 969type DetectedLanguage struct { 970 // Confidence: Confidence of detected language. Range [0, 1]. 971 Confidence float64 `json:"confidence,omitempty"` 972 973 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 974 // For more 975 // information, 976 // see 977 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 978 LanguageCode string `json:"languageCode,omitempty"` 979 980 // ForceSendFields is a list of field names (e.g. "Confidence") to 981 // unconditionally include in API requests. By default, fields with 982 // empty values are omitted from API requests. However, any non-pointer, 983 // non-interface field appearing in ForceSendFields will be sent to the 984 // server regardless of whether the field is empty or not. This may be 985 // used to include empty fields in Patch requests. 986 ForceSendFields []string `json:"-"` 987 988 // NullFields is a list of field names (e.g. "Confidence") to include in 989 // API requests with the JSON null value. By default, fields with empty 990 // values are omitted from API requests. However, any field with an 991 // empty value appearing in NullFields will be sent to the server as 992 // null. It is an error if a field in this list has a non-empty value. 993 // This may be used to include null fields in Patch requests. 994 NullFields []string `json:"-"` 995} 996 997func (s *DetectedLanguage) MarshalJSON() ([]byte, error) { 998 type NoMethod DetectedLanguage 999 raw := NoMethod(*s) 1000 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1001} 1002 1003func (s *DetectedLanguage) UnmarshalJSON(data []byte) error { 1004 type NoMethod DetectedLanguage 1005 var s1 struct { 1006 Confidence gensupport.JSONFloat64 `json:"confidence"` 1007 *NoMethod 1008 } 1009 s1.NoMethod = (*NoMethod)(s) 1010 if err := json.Unmarshal(data, &s1); err != nil { 1011 return err 1012 } 1013 s.Confidence = float64(s1.Confidence) 1014 return nil 1015} 1016 1017// DominantColorsAnnotation: Set of dominant colors and their 1018// corresponding scores. 1019type DominantColorsAnnotation struct { 1020 // Colors: RGB color values with their score and pixel fraction. 1021 Colors []*ColorInfo `json:"colors,omitempty"` 1022 1023 // ForceSendFields is a list of field names (e.g. "Colors") to 1024 // unconditionally include in API requests. By default, fields with 1025 // empty values are omitted from API requests. However, any non-pointer, 1026 // non-interface field appearing in ForceSendFields will be sent to the 1027 // server regardless of whether the field is empty or not. This may be 1028 // used to include empty fields in Patch requests. 1029 ForceSendFields []string `json:"-"` 1030 1031 // NullFields is a list of field names (e.g. "Colors") to include in API 1032 // requests with the JSON null value. By default, fields with empty 1033 // values are omitted from API requests. However, any field with an 1034 // empty value appearing in NullFields will be sent to the server as 1035 // null. It is an error if a field in this list has a non-empty value. 1036 // This may be used to include null fields in Patch requests. 1037 NullFields []string `json:"-"` 1038} 1039 1040func (s *DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 1041 type NoMethod DominantColorsAnnotation 1042 raw := NoMethod(*s) 1043 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1044} 1045 1046// EntityAnnotation: Set of detected entity features. 1047type EntityAnnotation struct { 1048 // BoundingPoly: Image region to which this entity belongs. Not 1049 // produced 1050 // for `LABEL_DETECTION` features. 1051 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 1052 1053 // Confidence: **Deprecated. Use `score` instead.** 1054 // The accuracy of the entity detection in an image. 1055 // For example, for an image in which the "Eiffel Tower" entity is 1056 // detected, 1057 // this field represents the confidence that there is a tower in the 1058 // query 1059 // image. Range [0, 1]. 1060 Confidence float64 `json:"confidence,omitempty"` 1061 1062 // Description: Entity textual description, expressed in its `locale` 1063 // language. 1064 Description string `json:"description,omitempty"` 1065 1066 // Locale: The language code for the locale in which the entity 1067 // textual 1068 // `description` is expressed. 1069 Locale string `json:"locale,omitempty"` 1070 1071 // Locations: The location information for the detected entity. 1072 // Multiple 1073 // `LocationInfo` elements can be present because one location 1074 // may 1075 // indicate the location of the scene in the image, and another 1076 // location 1077 // may indicate the location of the place where the image was 1078 // taken. 1079 // Location information is usually present for landmarks. 1080 Locations []*LocationInfo `json:"locations,omitempty"` 1081 1082 // Mid: Opaque entity ID. Some IDs may be available in 1083 // [Google Knowledge Graph 1084 // Search 1085 // API](https://developers.google.com/knowledge-graph/). 1086 Mid string `json:"mid,omitempty"` 1087 1088 // Properties: Some entities may have optional user-supplied `Property` 1089 // (name/value) 1090 // fields, such a score or string that qualifies the entity. 1091 Properties []*Property `json:"properties,omitempty"` 1092 1093 // Score: Overall score of the result. Range [0, 1]. 1094 Score float64 `json:"score,omitempty"` 1095 1096 // Topicality: The relevancy of the ICA (Image Content Annotation) label 1097 // to the 1098 // image. For example, the relevancy of "tower" is likely higher to an 1099 // image 1100 // containing the detected "Eiffel Tower" than to an image containing 1101 // a 1102 // detected distant towering building, even though the confidence 1103 // that 1104 // there is a tower in each image may be the same. Range [0, 1]. 1105 Topicality float64 `json:"topicality,omitempty"` 1106 1107 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 1108 // unconditionally include in API requests. By default, fields with 1109 // empty values are omitted from API requests. However, any non-pointer, 1110 // non-interface field appearing in ForceSendFields will be sent to the 1111 // server regardless of whether the field is empty or not. This may be 1112 // used to include empty fields in Patch requests. 1113 ForceSendFields []string `json:"-"` 1114 1115 // NullFields is a list of field names (e.g. "BoundingPoly") to include 1116 // in API requests with the JSON null value. By default, fields with 1117 // empty values are omitted from API requests. However, any field with 1118 // an empty value appearing in NullFields will be sent to the server as 1119 // null. It is an error if a field in this list has a non-empty value. 1120 // This may be used to include null fields in Patch requests. 1121 NullFields []string `json:"-"` 1122} 1123 1124func (s *EntityAnnotation) MarshalJSON() ([]byte, error) { 1125 type NoMethod EntityAnnotation 1126 raw := NoMethod(*s) 1127 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1128} 1129 1130func (s *EntityAnnotation) UnmarshalJSON(data []byte) error { 1131 type NoMethod EntityAnnotation 1132 var s1 struct { 1133 Confidence gensupport.JSONFloat64 `json:"confidence"` 1134 Score gensupport.JSONFloat64 `json:"score"` 1135 Topicality gensupport.JSONFloat64 `json:"topicality"` 1136 *NoMethod 1137 } 1138 s1.NoMethod = (*NoMethod)(s) 1139 if err := json.Unmarshal(data, &s1); err != nil { 1140 return err 1141 } 1142 s.Confidence = float64(s1.Confidence) 1143 s.Score = float64(s1.Score) 1144 s.Topicality = float64(s1.Topicality) 1145 return nil 1146} 1147 1148// FaceAnnotation: A face annotation object contains the results of face 1149// detection. 1150type FaceAnnotation struct { 1151 // AngerLikelihood: Anger likelihood. 1152 // 1153 // Possible values: 1154 // "UNKNOWN" - Unknown likelihood. 1155 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 1156 // specified vertical. 1157 // "UNLIKELY" - It is unlikely that the image belongs to the specified 1158 // vertical. 1159 // "POSSIBLE" - It is possible that the image belongs to the specified 1160 // vertical. 1161 // "LIKELY" - It is likely that the image belongs to the specified 1162 // vertical. 1163 // "VERY_LIKELY" - It is very likely that the image belongs to the 1164 // specified vertical. 1165 AngerLikelihood string `json:"angerLikelihood,omitempty"` 1166 1167 // BlurredLikelihood: Blurred likelihood. 1168 // 1169 // Possible values: 1170 // "UNKNOWN" - Unknown likelihood. 1171 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 1172 // specified vertical. 1173 // "UNLIKELY" - It is unlikely that the image belongs to the specified 1174 // vertical. 1175 // "POSSIBLE" - It is possible that the image belongs to the specified 1176 // vertical. 1177 // "LIKELY" - It is likely that the image belongs to the specified 1178 // vertical. 1179 // "VERY_LIKELY" - It is very likely that the image belongs to the 1180 // specified vertical. 1181 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 1182 1183 // BoundingPoly: The bounding polygon around the face. The coordinates 1184 // of the bounding box 1185 // are in the original image's scale. 1186 // The bounding box is computed to "frame" the face in accordance with 1187 // human 1188 // expectations. It is based on the landmarker results. 1189 // Note that one or more x and/or y coordinates may not be generated in 1190 // the 1191 // `BoundingPoly` (the polygon will be unbounded) if only a partial 1192 // face 1193 // appears in the image to be annotated. 1194 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 1195 1196 // DetectionConfidence: Detection confidence. Range [0, 1]. 1197 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 1198 1199 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 1200 // than the 1201 // `boundingPoly`, and encloses only the skin part of the face. 1202 // Typically, it 1203 // is used to eliminate the face from any image analysis that detects 1204 // the 1205 // "amount of skin" visible in an image. It is not based on 1206 // the 1207 // landmarker results, only on the initial face detection, hence 1208 // the <code>fd</code> (face detection) prefix. 1209 FdBoundingPoly *BoundingPoly `json:"fdBoundingPoly,omitempty"` 1210 1211 // HeadwearLikelihood: Headwear likelihood. 1212 // 1213 // Possible values: 1214 // "UNKNOWN" - Unknown likelihood. 1215 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 1216 // specified vertical. 1217 // "UNLIKELY" - It is unlikely that the image belongs to the specified 1218 // vertical. 1219 // "POSSIBLE" - It is possible that the image belongs to the specified 1220 // vertical. 1221 // "LIKELY" - It is likely that the image belongs to the specified 1222 // vertical. 1223 // "VERY_LIKELY" - It is very likely that the image belongs to the 1224 // specified vertical. 1225 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 1226 1227 // JoyLikelihood: Joy likelihood. 1228 // 1229 // Possible values: 1230 // "UNKNOWN" - Unknown likelihood. 1231 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 1232 // specified vertical. 1233 // "UNLIKELY" - It is unlikely that the image belongs to the specified 1234 // vertical. 1235 // "POSSIBLE" - It is possible that the image belongs to the specified 1236 // vertical. 1237 // "LIKELY" - It is likely that the image belongs to the specified 1238 // vertical. 1239 // "VERY_LIKELY" - It is very likely that the image belongs to the 1240 // specified vertical. 1241 JoyLikelihood string `json:"joyLikelihood,omitempty"` 1242 1243 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 1244 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 1245 1246 // Landmarks: Detected face landmarks. 1247 Landmarks []*Landmark `json:"landmarks,omitempty"` 1248 1249 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 1250 // that the face is 1251 // pointing relative to the vertical plane perpendicular to the image. 1252 // Range 1253 // [-180,180]. 1254 PanAngle float64 `json:"panAngle,omitempty"` 1255 1256 // RollAngle: Roll angle, which indicates the amount of 1257 // clockwise/anti-clockwise rotation 1258 // of the face relative to the image vertical about the axis 1259 // perpendicular to 1260 // the face. Range [-180,180]. 1261 RollAngle float64 `json:"rollAngle,omitempty"` 1262 1263 // SorrowLikelihood: Sorrow likelihood. 1264 // 1265 // Possible values: 1266 // "UNKNOWN" - Unknown likelihood. 1267 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 1268 // specified vertical. 1269 // "UNLIKELY" - It is unlikely that the image belongs to the specified 1270 // vertical. 1271 // "POSSIBLE" - It is possible that the image belongs to the specified 1272 // vertical. 1273 // "LIKELY" - It is likely that the image belongs to the specified 1274 // vertical. 1275 // "VERY_LIKELY" - It is very likely that the image belongs to the 1276 // specified vertical. 1277 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 1278 1279 // SurpriseLikelihood: Surprise likelihood. 1280 // 1281 // Possible values: 1282 // "UNKNOWN" - Unknown likelihood. 1283 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 1284 // specified vertical. 1285 // "UNLIKELY" - It is unlikely that the image belongs to the specified 1286 // vertical. 1287 // "POSSIBLE" - It is possible that the image belongs to the specified 1288 // vertical. 1289 // "LIKELY" - It is likely that the image belongs to the specified 1290 // vertical. 1291 // "VERY_LIKELY" - It is very likely that the image belongs to the 1292 // specified vertical. 1293 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 1294 1295 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 1296 // that the face is 1297 // pointing relative to the image's horizontal plane. Range [-180,180]. 1298 TiltAngle float64 `json:"tiltAngle,omitempty"` 1299 1300 // UnderExposedLikelihood: Under-exposed likelihood. 1301 // 1302 // Possible values: 1303 // "UNKNOWN" - Unknown likelihood. 1304 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 1305 // specified vertical. 1306 // "UNLIKELY" - It is unlikely that the image belongs to the specified 1307 // vertical. 1308 // "POSSIBLE" - It is possible that the image belongs to the specified 1309 // vertical. 1310 // "LIKELY" - It is likely that the image belongs to the specified 1311 // vertical. 1312 // "VERY_LIKELY" - It is very likely that the image belongs to the 1313 // specified vertical. 1314 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 1315 1316 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 1317 // unconditionally include in API requests. By default, fields with 1318 // empty values are omitted from API requests. However, any non-pointer, 1319 // non-interface field appearing in ForceSendFields will be sent to the 1320 // server regardless of whether the field is empty or not. This may be 1321 // used to include empty fields in Patch requests. 1322 ForceSendFields []string `json:"-"` 1323 1324 // NullFields is a list of field names (e.g. "AngerLikelihood") to 1325 // include in API requests with the JSON null value. By default, fields 1326 // with empty values are omitted from API requests. However, any field 1327 // with an empty value appearing in NullFields will be sent to the 1328 // server as null. It is an error if a field in this list has a 1329 // non-empty value. This may be used to include null fields in Patch 1330 // requests. 1331 NullFields []string `json:"-"` 1332} 1333 1334func (s *FaceAnnotation) MarshalJSON() ([]byte, error) { 1335 type NoMethod FaceAnnotation 1336 raw := NoMethod(*s) 1337 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1338} 1339 1340func (s *FaceAnnotation) UnmarshalJSON(data []byte) error { 1341 type NoMethod FaceAnnotation 1342 var s1 struct { 1343 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 1344 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 1345 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 1346 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 1347 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 1348 *NoMethod 1349 } 1350 s1.NoMethod = (*NoMethod)(s) 1351 if err := json.Unmarshal(data, &s1); err != nil { 1352 return err 1353 } 1354 s.DetectionConfidence = float64(s1.DetectionConfidence) 1355 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 1356 s.PanAngle = float64(s1.PanAngle) 1357 s.RollAngle = float64(s1.RollAngle) 1358 s.TiltAngle = float64(s1.TiltAngle) 1359 return nil 1360} 1361 1362// GcsDestination: The Google Cloud Storage location where the output 1363// will be written to. 1364type GcsDestination struct { 1365 // Uri: Google Cloud Storage URI prefix where the results will be 1366 // stored. Results 1367 // will be in JSON format and preceded by its corresponding input URI 1368 // prefix. 1369 // This field can either represent a gcs file prefix or gcs directory. 1370 // In 1371 // either case, the uri should be unique because in order to get all of 1372 // the 1373 // output files, you will need to do a wildcard gcs search on the uri 1374 // prefix 1375 // you provide. 1376 // 1377 // Examples: 1378 // 1379 // * File Prefix: gs://bucket-name/here/filenameprefix The output 1380 // files 1381 // will be created in gs://bucket-name/here/ and the names of the 1382 // output files will begin with "filenameprefix". 1383 // 1384 // * Directory Prefix: gs://bucket-name/some/location/ The output 1385 // files 1386 // will be created in gs://bucket-name/some/location/ and the names of 1387 // the 1388 // output files could be anything because there was no filename 1389 // prefix 1390 // specified. 1391 // 1392 // If multiple outputs, each response is still AnnotateFileResponse, 1393 // each of 1394 // which contains some subset of the full list of 1395 // AnnotateImageResponse. 1396 // Multiple outputs can happen if, for example, the output JSON is too 1397 // large 1398 // and overflows into multiple sharded files. 1399 Uri string `json:"uri,omitempty"` 1400 1401 // ForceSendFields is a list of field names (e.g. "Uri") to 1402 // unconditionally include in API requests. By default, fields with 1403 // empty values are omitted from API requests. However, any non-pointer, 1404 // non-interface field appearing in ForceSendFields will be sent to the 1405 // server regardless of whether the field is empty or not. This may be 1406 // used to include empty fields in Patch requests. 1407 ForceSendFields []string `json:"-"` 1408 1409 // NullFields is a list of field names (e.g. "Uri") to include in API 1410 // requests with the JSON null value. By default, fields with empty 1411 // values are omitted from API requests. However, any field with an 1412 // empty value appearing in NullFields will be sent to the server as 1413 // null. It is an error if a field in this list has a non-empty value. 1414 // This may be used to include null fields in Patch requests. 1415 NullFields []string `json:"-"` 1416} 1417 1418func (s *GcsDestination) MarshalJSON() ([]byte, error) { 1419 type NoMethod GcsDestination 1420 raw := NoMethod(*s) 1421 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1422} 1423 1424// GcsSource: The Google Cloud Storage location where the input will be 1425// read from. 1426type GcsSource struct { 1427 // Uri: Google Cloud Storage URI for the input file. This must only be 1428 // a 1429 // Google Cloud Storage object. Wildcards are not currently supported. 1430 Uri string `json:"uri,omitempty"` 1431 1432 // ForceSendFields is a list of field names (e.g. "Uri") to 1433 // unconditionally include in API requests. By default, fields with 1434 // empty values are omitted from API requests. However, any non-pointer, 1435 // non-interface field appearing in ForceSendFields will be sent to the 1436 // server regardless of whether the field is empty or not. This may be 1437 // used to include empty fields in Patch requests. 1438 ForceSendFields []string `json:"-"` 1439 1440 // NullFields is a list of field names (e.g. "Uri") to include in API 1441 // requests with the JSON null value. By default, fields with empty 1442 // values are omitted from API requests. However, any field with an 1443 // empty value appearing in NullFields will be sent to the server as 1444 // null. It is an error if a field in this list has a non-empty value. 1445 // This may be used to include null fields in Patch requests. 1446 NullFields []string `json:"-"` 1447} 1448 1449func (s *GcsSource) MarshalJSON() ([]byte, error) { 1450 type NoMethod GcsSource 1451 raw := NoMethod(*s) 1452 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1453} 1454 1455// GoogleCloudVisionV1p1beta1AnnotateFileResponse: Response to a single 1456// file annotation request. A file may contain one or more 1457// images, which individually have their own responses. 1458type GoogleCloudVisionV1p1beta1AnnotateFileResponse struct { 1459 // InputConfig: Information about the file for which this response is 1460 // generated. 1461 InputConfig *GoogleCloudVisionV1p1beta1InputConfig `json:"inputConfig,omitempty"` 1462 1463 // Responses: Individual responses to images found within the file. 1464 Responses []*GoogleCloudVisionV1p1beta1AnnotateImageResponse `json:"responses,omitempty"` 1465 1466 // TotalPages: This field gives the total number of pages in the file. 1467 TotalPages int64 `json:"totalPages,omitempty"` 1468 1469 // ForceSendFields is a list of field names (e.g. "InputConfig") to 1470 // unconditionally include in API requests. By default, fields with 1471 // empty values are omitted from API requests. However, any non-pointer, 1472 // non-interface field appearing in ForceSendFields will be sent to the 1473 // server regardless of whether the field is empty or not. This may be 1474 // used to include empty fields in Patch requests. 1475 ForceSendFields []string `json:"-"` 1476 1477 // NullFields is a list of field names (e.g. "InputConfig") to include 1478 // in API requests with the JSON null value. By default, fields with 1479 // empty values are omitted from API requests. However, any field with 1480 // an empty value appearing in NullFields will be sent to the server as 1481 // null. It is an error if a field in this list has a non-empty value. 1482 // This may be used to include null fields in Patch requests. 1483 NullFields []string `json:"-"` 1484} 1485 1486func (s *GoogleCloudVisionV1p1beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 1487 type NoMethod GoogleCloudVisionV1p1beta1AnnotateFileResponse 1488 raw := NoMethod(*s) 1489 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1490} 1491 1492// GoogleCloudVisionV1p1beta1AnnotateImageResponse: Response to an image 1493// annotation request. 1494type GoogleCloudVisionV1p1beta1AnnotateImageResponse struct { 1495 // Context: If present, contextual information is needed to understand 1496 // where this image 1497 // comes from. 1498 Context *GoogleCloudVisionV1p1beta1ImageAnnotationContext `json:"context,omitempty"` 1499 1500 // CropHintsAnnotation: If present, crop hints have completed 1501 // successfully. 1502 CropHintsAnnotation *GoogleCloudVisionV1p1beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 1503 1504 // Error: If set, represents the error message for the operation. 1505 // Note that filled-in image annotations are guaranteed to be 1506 // correct, even when `error` is set. 1507 Error *Status `json:"error,omitempty"` 1508 1509 // FaceAnnotations: If present, face detection has completed 1510 // successfully. 1511 FaceAnnotations []*GoogleCloudVisionV1p1beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 1512 1513 // FullTextAnnotation: If present, text (OCR) detection or document 1514 // (OCR) text detection has 1515 // completed successfully. 1516 // This annotation provides the structural hierarchy for the OCR 1517 // detected 1518 // text. 1519 FullTextAnnotation *GoogleCloudVisionV1p1beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 1520 1521 // ImagePropertiesAnnotation: If present, image properties were 1522 // extracted successfully. 1523 ImagePropertiesAnnotation *GoogleCloudVisionV1p1beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 1524 1525 // LabelAnnotations: If present, label detection has completed 1526 // successfully. 1527 LabelAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 1528 1529 // LandmarkAnnotations: If present, landmark detection has completed 1530 // successfully. 1531 LandmarkAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 1532 1533 // LocalizedObjectAnnotations: If present, localized object detection 1534 // has completed successfully. 1535 // This will be sorted descending by confidence score. 1536 LocalizedObjectAnnotations []*GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 1537 1538 // LogoAnnotations: If present, logo detection has completed 1539 // successfully. 1540 LogoAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 1541 1542 // ProductSearchResults: If present, product search has completed 1543 // successfully. 1544 ProductSearchResults *GoogleCloudVisionV1p1beta1ProductSearchResults `json:"productSearchResults,omitempty"` 1545 1546 // SafeSearchAnnotation: If present, safe-search annotation has 1547 // completed successfully. 1548 SafeSearchAnnotation *GoogleCloudVisionV1p1beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 1549 1550 // TextAnnotations: If present, text (OCR) detection has completed 1551 // successfully. 1552 TextAnnotations []*GoogleCloudVisionV1p1beta1EntityAnnotation `json:"textAnnotations,omitempty"` 1553 1554 // WebDetection: If present, web detection has completed successfully. 1555 WebDetection *GoogleCloudVisionV1p1beta1WebDetection `json:"webDetection,omitempty"` 1556 1557 // ForceSendFields is a list of field names (e.g. "Context") to 1558 // unconditionally include in API requests. By default, fields with 1559 // empty values are omitted from API requests. However, any non-pointer, 1560 // non-interface field appearing in ForceSendFields will be sent to the 1561 // server regardless of whether the field is empty or not. This may be 1562 // used to include empty fields in Patch requests. 1563 ForceSendFields []string `json:"-"` 1564 1565 // NullFields is a list of field names (e.g. "Context") to include in 1566 // API requests with the JSON null value. By default, fields with empty 1567 // values are omitted from API requests. However, any field with an 1568 // empty value appearing in NullFields will be sent to the server as 1569 // null. It is an error if a field in this list has a non-empty value. 1570 // This may be used to include null fields in Patch requests. 1571 NullFields []string `json:"-"` 1572} 1573 1574func (s *GoogleCloudVisionV1p1beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 1575 type NoMethod GoogleCloudVisionV1p1beta1AnnotateImageResponse 1576 raw := NoMethod(*s) 1577 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1578} 1579 1580// GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse: The response for 1581// a single offline file annotation request. 1582type GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse struct { 1583 // OutputConfig: The output location and metadata from 1584 // AsyncAnnotateFileRequest. 1585 OutputConfig *GoogleCloudVisionV1p1beta1OutputConfig `json:"outputConfig,omitempty"` 1586 1587 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 1588 // unconditionally include in API requests. By default, fields with 1589 // empty values are omitted from API requests. However, any non-pointer, 1590 // non-interface field appearing in ForceSendFields will be sent to the 1591 // server regardless of whether the field is empty or not. This may be 1592 // used to include empty fields in Patch requests. 1593 ForceSendFields []string `json:"-"` 1594 1595 // NullFields is a list of field names (e.g. "OutputConfig") to include 1596 // in API requests with the JSON null value. By default, fields with 1597 // empty values are omitted from API requests. However, any field with 1598 // an empty value appearing in NullFields will be sent to the server as 1599 // null. It is an error if a field in this list has a non-empty value. 1600 // This may be used to include null fields in Patch requests. 1601 NullFields []string `json:"-"` 1602} 1603 1604func (s *GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 1605 type NoMethod GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse 1606 raw := NoMethod(*s) 1607 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1608} 1609 1610// GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse: Response 1611// to an async batch file annotation request. 1612type GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse struct { 1613 // Responses: The list of file annotation responses, one for each 1614 // request in 1615 // AsyncBatchAnnotateFilesRequest. 1616 Responses []*GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 1617 1618 // ForceSendFields is a list of field names (e.g. "Responses") to 1619 // unconditionally include in API requests. By default, fields with 1620 // empty values are omitted from API requests. However, any non-pointer, 1621 // non-interface field appearing in ForceSendFields will be sent to the 1622 // server regardless of whether the field is empty or not. This may be 1623 // used to include empty fields in Patch requests. 1624 ForceSendFields []string `json:"-"` 1625 1626 // NullFields is a list of field names (e.g. "Responses") to include in 1627 // API requests with the JSON null value. By default, fields with empty 1628 // values are omitted from API requests. However, any field with an 1629 // empty value appearing in NullFields will be sent to the server as 1630 // null. It is an error if a field in this list has a non-empty value. 1631 // This may be used to include null fields in Patch requests. 1632 NullFields []string `json:"-"` 1633} 1634 1635func (s *GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 1636 type NoMethod GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse 1637 raw := NoMethod(*s) 1638 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1639} 1640 1641// GoogleCloudVisionV1p1beta1Block: Logical element on the page. 1642type GoogleCloudVisionV1p1beta1Block struct { 1643 // BlockType: Detected block type (text, image etc) for this block. 1644 // 1645 // Possible values: 1646 // "UNKNOWN" - Unknown block type. 1647 // "TEXT" - Regular text block. 1648 // "TABLE" - Table block. 1649 // "PICTURE" - Image block. 1650 // "RULER" - Horizontal/vertical line box. 1651 // "BARCODE" - Barcode block. 1652 BlockType string `json:"blockType,omitempty"` 1653 1654 // BoundingBox: The bounding box for the block. 1655 // The vertices are in the order of top-left, top-right, 1656 // bottom-right, 1657 // bottom-left. When a rotation of the bounding box is detected the 1658 // rotation 1659 // is represented as around the top-left corner as defined when the text 1660 // is 1661 // read in the 'natural' orientation. 1662 // For example: 1663 // 1664 // * when the text is horizontal it might look like: 1665 // 1666 // 0----1 1667 // | | 1668 // 3----2 1669 // 1670 // * when it's rotated 180 degrees around the top-left corner it 1671 // becomes: 1672 // 1673 // 2----3 1674 // | | 1675 // 1----0 1676 // 1677 // and the vertex order will still be (0, 1, 2, 3). 1678 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 1679 1680 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 1681 Confidence float64 `json:"confidence,omitempty"` 1682 1683 // Paragraphs: List of paragraphs in this block (if this blocks is of 1684 // type text). 1685 Paragraphs []*GoogleCloudVisionV1p1beta1Paragraph `json:"paragraphs,omitempty"` 1686 1687 // Property: Additional information detected for the block. 1688 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 1689 1690 // ForceSendFields is a list of field names (e.g. "BlockType") to 1691 // unconditionally include in API requests. By default, fields with 1692 // empty values are omitted from API requests. However, any non-pointer, 1693 // non-interface field appearing in ForceSendFields will be sent to the 1694 // server regardless of whether the field is empty or not. This may be 1695 // used to include empty fields in Patch requests. 1696 ForceSendFields []string `json:"-"` 1697 1698 // NullFields is a list of field names (e.g. "BlockType") to include in 1699 // API requests with the JSON null value. By default, fields with empty 1700 // values are omitted from API requests. However, any field with an 1701 // empty value appearing in NullFields will be sent to the server as 1702 // null. It is an error if a field in this list has a non-empty value. 1703 // This may be used to include null fields in Patch requests. 1704 NullFields []string `json:"-"` 1705} 1706 1707func (s *GoogleCloudVisionV1p1beta1Block) MarshalJSON() ([]byte, error) { 1708 type NoMethod GoogleCloudVisionV1p1beta1Block 1709 raw := NoMethod(*s) 1710 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1711} 1712 1713func (s *GoogleCloudVisionV1p1beta1Block) UnmarshalJSON(data []byte) error { 1714 type NoMethod GoogleCloudVisionV1p1beta1Block 1715 var s1 struct { 1716 Confidence gensupport.JSONFloat64 `json:"confidence"` 1717 *NoMethod 1718 } 1719 s1.NoMethod = (*NoMethod)(s) 1720 if err := json.Unmarshal(data, &s1); err != nil { 1721 return err 1722 } 1723 s.Confidence = float64(s1.Confidence) 1724 return nil 1725} 1726 1727// GoogleCloudVisionV1p1beta1BoundingPoly: A bounding polygon for the 1728// detected image annotation. 1729type GoogleCloudVisionV1p1beta1BoundingPoly struct { 1730 // NormalizedVertices: The bounding polygon normalized vertices. 1731 NormalizedVertices []*GoogleCloudVisionV1p1beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 1732 1733 // Vertices: The bounding polygon vertices. 1734 Vertices []*GoogleCloudVisionV1p1beta1Vertex `json:"vertices,omitempty"` 1735 1736 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 1737 // to unconditionally include in API requests. By default, fields with 1738 // empty values are omitted from API requests. However, any non-pointer, 1739 // non-interface field appearing in ForceSendFields will be sent to the 1740 // server regardless of whether the field is empty or not. This may be 1741 // used to include empty fields in Patch requests. 1742 ForceSendFields []string `json:"-"` 1743 1744 // NullFields is a list of field names (e.g. "NormalizedVertices") to 1745 // include in API requests with the JSON null value. By default, fields 1746 // with empty values are omitted from API requests. However, any field 1747 // with an empty value appearing in NullFields will be sent to the 1748 // server as null. It is an error if a field in this list has a 1749 // non-empty value. This may be used to include null fields in Patch 1750 // requests. 1751 NullFields []string `json:"-"` 1752} 1753 1754func (s *GoogleCloudVisionV1p1beta1BoundingPoly) MarshalJSON() ([]byte, error) { 1755 type NoMethod GoogleCloudVisionV1p1beta1BoundingPoly 1756 raw := NoMethod(*s) 1757 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1758} 1759 1760// GoogleCloudVisionV1p1beta1ColorInfo: Color information consists of 1761// RGB channels, score, and the fraction of 1762// the image that the color occupies in the image. 1763type GoogleCloudVisionV1p1beta1ColorInfo struct { 1764 // Color: RGB components of the color. 1765 Color *Color `json:"color,omitempty"` 1766 1767 // PixelFraction: The fraction of pixels the color occupies in the 1768 // image. 1769 // Value in range [0, 1]. 1770 PixelFraction float64 `json:"pixelFraction,omitempty"` 1771 1772 // Score: Image-specific score for this color. Value in range [0, 1]. 1773 Score float64 `json:"score,omitempty"` 1774 1775 // ForceSendFields is a list of field names (e.g. "Color") to 1776 // unconditionally include in API requests. By default, fields with 1777 // empty values are omitted from API requests. However, any non-pointer, 1778 // non-interface field appearing in ForceSendFields will be sent to the 1779 // server regardless of whether the field is empty or not. This may be 1780 // used to include empty fields in Patch requests. 1781 ForceSendFields []string `json:"-"` 1782 1783 // NullFields is a list of field names (e.g. "Color") to include in API 1784 // requests with the JSON null value. By default, fields with empty 1785 // values are omitted from API requests. However, any field with an 1786 // empty value appearing in NullFields will be sent to the server as 1787 // null. It is an error if a field in this list has a non-empty value. 1788 // This may be used to include null fields in Patch requests. 1789 NullFields []string `json:"-"` 1790} 1791 1792func (s *GoogleCloudVisionV1p1beta1ColorInfo) MarshalJSON() ([]byte, error) { 1793 type NoMethod GoogleCloudVisionV1p1beta1ColorInfo 1794 raw := NoMethod(*s) 1795 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1796} 1797 1798func (s *GoogleCloudVisionV1p1beta1ColorInfo) UnmarshalJSON(data []byte) error { 1799 type NoMethod GoogleCloudVisionV1p1beta1ColorInfo 1800 var s1 struct { 1801 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 1802 Score gensupport.JSONFloat64 `json:"score"` 1803 *NoMethod 1804 } 1805 s1.NoMethod = (*NoMethod)(s) 1806 if err := json.Unmarshal(data, &s1); err != nil { 1807 return err 1808 } 1809 s.PixelFraction = float64(s1.PixelFraction) 1810 s.Score = float64(s1.Score) 1811 return nil 1812} 1813 1814// GoogleCloudVisionV1p1beta1CropHint: Single crop hint that is used to 1815// generate a new crop when serving an image. 1816type GoogleCloudVisionV1p1beta1CropHint struct { 1817 // BoundingPoly: The bounding polygon for the crop region. The 1818 // coordinates of the bounding 1819 // box are in the original image's scale. 1820 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 1821 1822 // Confidence: Confidence of this being a salient region. Range [0, 1]. 1823 Confidence float64 `json:"confidence,omitempty"` 1824 1825 // ImportanceFraction: Fraction of importance of this salient region 1826 // with respect to the original 1827 // image. 1828 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 1829 1830 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 1831 // unconditionally include in API requests. By default, fields with 1832 // empty values are omitted from API requests. However, any non-pointer, 1833 // non-interface field appearing in ForceSendFields will be sent to the 1834 // server regardless of whether the field is empty or not. This may be 1835 // used to include empty fields in Patch requests. 1836 ForceSendFields []string `json:"-"` 1837 1838 // NullFields is a list of field names (e.g. "BoundingPoly") to include 1839 // in API requests with the JSON null value. By default, fields with 1840 // empty values are omitted from API requests. However, any field with 1841 // an empty value appearing in NullFields will be sent to the server as 1842 // null. It is an error if a field in this list has a non-empty value. 1843 // This may be used to include null fields in Patch requests. 1844 NullFields []string `json:"-"` 1845} 1846 1847func (s *GoogleCloudVisionV1p1beta1CropHint) MarshalJSON() ([]byte, error) { 1848 type NoMethod GoogleCloudVisionV1p1beta1CropHint 1849 raw := NoMethod(*s) 1850 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1851} 1852 1853func (s *GoogleCloudVisionV1p1beta1CropHint) UnmarshalJSON(data []byte) error { 1854 type NoMethod GoogleCloudVisionV1p1beta1CropHint 1855 var s1 struct { 1856 Confidence gensupport.JSONFloat64 `json:"confidence"` 1857 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 1858 *NoMethod 1859 } 1860 s1.NoMethod = (*NoMethod)(s) 1861 if err := json.Unmarshal(data, &s1); err != nil { 1862 return err 1863 } 1864 s.Confidence = float64(s1.Confidence) 1865 s.ImportanceFraction = float64(s1.ImportanceFraction) 1866 return nil 1867} 1868 1869// GoogleCloudVisionV1p1beta1CropHintsAnnotation: Set of crop hints that 1870// are used to generate new crops when serving images. 1871type GoogleCloudVisionV1p1beta1CropHintsAnnotation struct { 1872 // CropHints: Crop hint results. 1873 CropHints []*GoogleCloudVisionV1p1beta1CropHint `json:"cropHints,omitempty"` 1874 1875 // ForceSendFields is a list of field names (e.g. "CropHints") to 1876 // unconditionally include in API requests. By default, fields with 1877 // empty values are omitted from API requests. However, any non-pointer, 1878 // non-interface field appearing in ForceSendFields will be sent to the 1879 // server regardless of whether the field is empty or not. This may be 1880 // used to include empty fields in Patch requests. 1881 ForceSendFields []string `json:"-"` 1882 1883 // NullFields is a list of field names (e.g. "CropHints") to include in 1884 // API requests with the JSON null value. By default, fields with empty 1885 // values are omitted from API requests. However, any field with an 1886 // empty value appearing in NullFields will be sent to the server as 1887 // null. It is an error if a field in this list has a non-empty value. 1888 // This may be used to include null fields in Patch requests. 1889 NullFields []string `json:"-"` 1890} 1891 1892func (s *GoogleCloudVisionV1p1beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 1893 type NoMethod GoogleCloudVisionV1p1beta1CropHintsAnnotation 1894 raw := NoMethod(*s) 1895 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1896} 1897 1898// GoogleCloudVisionV1p1beta1DominantColorsAnnotation: Set of dominant 1899// colors and their corresponding scores. 1900type GoogleCloudVisionV1p1beta1DominantColorsAnnotation struct { 1901 // Colors: RGB color values with their score and pixel fraction. 1902 Colors []*GoogleCloudVisionV1p1beta1ColorInfo `json:"colors,omitempty"` 1903 1904 // ForceSendFields is a list of field names (e.g. "Colors") to 1905 // unconditionally include in API requests. By default, fields with 1906 // empty values are omitted from API requests. However, any non-pointer, 1907 // non-interface field appearing in ForceSendFields will be sent to the 1908 // server regardless of whether the field is empty or not. This may be 1909 // used to include empty fields in Patch requests. 1910 ForceSendFields []string `json:"-"` 1911 1912 // NullFields is a list of field names (e.g. "Colors") to include in API 1913 // requests with the JSON null value. By default, fields with empty 1914 // values are omitted from API requests. However, any field with an 1915 // empty value appearing in NullFields will be sent to the server as 1916 // null. It is an error if a field in this list has a non-empty value. 1917 // This may be used to include null fields in Patch requests. 1918 NullFields []string `json:"-"` 1919} 1920 1921func (s *GoogleCloudVisionV1p1beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 1922 type NoMethod GoogleCloudVisionV1p1beta1DominantColorsAnnotation 1923 raw := NoMethod(*s) 1924 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 1925} 1926 1927// GoogleCloudVisionV1p1beta1EntityAnnotation: Set of detected entity 1928// features. 1929type GoogleCloudVisionV1p1beta1EntityAnnotation struct { 1930 // BoundingPoly: Image region to which this entity belongs. Not 1931 // produced 1932 // for `LABEL_DETECTION` features. 1933 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 1934 1935 // Confidence: **Deprecated. Use `score` instead.** 1936 // The accuracy of the entity detection in an image. 1937 // For example, for an image in which the "Eiffel Tower" entity is 1938 // detected, 1939 // this field represents the confidence that there is a tower in the 1940 // query 1941 // image. Range [0, 1]. 1942 Confidence float64 `json:"confidence,omitempty"` 1943 1944 // Description: Entity textual description, expressed in its `locale` 1945 // language. 1946 Description string `json:"description,omitempty"` 1947 1948 // Locale: The language code for the locale in which the entity 1949 // textual 1950 // `description` is expressed. 1951 Locale string `json:"locale,omitempty"` 1952 1953 // Locations: The location information for the detected entity. 1954 // Multiple 1955 // `LocationInfo` elements can be present because one location 1956 // may 1957 // indicate the location of the scene in the image, and another 1958 // location 1959 // may indicate the location of the place where the image was 1960 // taken. 1961 // Location information is usually present for landmarks. 1962 Locations []*GoogleCloudVisionV1p1beta1LocationInfo `json:"locations,omitempty"` 1963 1964 // Mid: Opaque entity ID. Some IDs may be available in 1965 // [Google Knowledge Graph 1966 // Search 1967 // API](https://developers.google.com/knowledge-graph/). 1968 Mid string `json:"mid,omitempty"` 1969 1970 // Properties: Some entities may have optional user-supplied `Property` 1971 // (name/value) 1972 // fields, such a score or string that qualifies the entity. 1973 Properties []*GoogleCloudVisionV1p1beta1Property `json:"properties,omitempty"` 1974 1975 // Score: Overall score of the result. Range [0, 1]. 1976 Score float64 `json:"score,omitempty"` 1977 1978 // Topicality: The relevancy of the ICA (Image Content Annotation) label 1979 // to the 1980 // image. For example, the relevancy of "tower" is likely higher to an 1981 // image 1982 // containing the detected "Eiffel Tower" than to an image containing 1983 // a 1984 // detected distant towering building, even though the confidence 1985 // that 1986 // there is a tower in each image may be the same. Range [0, 1]. 1987 Topicality float64 `json:"topicality,omitempty"` 1988 1989 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 1990 // unconditionally include in API requests. By default, fields with 1991 // empty values are omitted from API requests. However, any non-pointer, 1992 // non-interface field appearing in ForceSendFields will be sent to the 1993 // server regardless of whether the field is empty or not. This may be 1994 // used to include empty fields in Patch requests. 1995 ForceSendFields []string `json:"-"` 1996 1997 // NullFields is a list of field names (e.g. "BoundingPoly") to include 1998 // in API requests with the JSON null value. By default, fields with 1999 // empty values are omitted from API requests. However, any field with 2000 // an empty value appearing in NullFields will be sent to the server as 2001 // null. It is an error if a field in this list has a non-empty value. 2002 // This may be used to include null fields in Patch requests. 2003 NullFields []string `json:"-"` 2004} 2005 2006func (s *GoogleCloudVisionV1p1beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 2007 type NoMethod GoogleCloudVisionV1p1beta1EntityAnnotation 2008 raw := NoMethod(*s) 2009 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2010} 2011 2012func (s *GoogleCloudVisionV1p1beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 2013 type NoMethod GoogleCloudVisionV1p1beta1EntityAnnotation 2014 var s1 struct { 2015 Confidence gensupport.JSONFloat64 `json:"confidence"` 2016 Score gensupport.JSONFloat64 `json:"score"` 2017 Topicality gensupport.JSONFloat64 `json:"topicality"` 2018 *NoMethod 2019 } 2020 s1.NoMethod = (*NoMethod)(s) 2021 if err := json.Unmarshal(data, &s1); err != nil { 2022 return err 2023 } 2024 s.Confidence = float64(s1.Confidence) 2025 s.Score = float64(s1.Score) 2026 s.Topicality = float64(s1.Topicality) 2027 return nil 2028} 2029 2030// GoogleCloudVisionV1p1beta1FaceAnnotation: A face annotation object 2031// contains the results of face detection. 2032type GoogleCloudVisionV1p1beta1FaceAnnotation struct { 2033 // AngerLikelihood: Anger likelihood. 2034 // 2035 // Possible values: 2036 // "UNKNOWN" - Unknown likelihood. 2037 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 2038 // specified vertical. 2039 // "UNLIKELY" - It is unlikely that the image belongs to the specified 2040 // vertical. 2041 // "POSSIBLE" - It is possible that the image belongs to the specified 2042 // vertical. 2043 // "LIKELY" - It is likely that the image belongs to the specified 2044 // vertical. 2045 // "VERY_LIKELY" - It is very likely that the image belongs to the 2046 // specified vertical. 2047 AngerLikelihood string `json:"angerLikelihood,omitempty"` 2048 2049 // BlurredLikelihood: Blurred likelihood. 2050 // 2051 // Possible values: 2052 // "UNKNOWN" - Unknown likelihood. 2053 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 2054 // specified vertical. 2055 // "UNLIKELY" - It is unlikely that the image belongs to the specified 2056 // vertical. 2057 // "POSSIBLE" - It is possible that the image belongs to the specified 2058 // vertical. 2059 // "LIKELY" - It is likely that the image belongs to the specified 2060 // vertical. 2061 // "VERY_LIKELY" - It is very likely that the image belongs to the 2062 // specified vertical. 2063 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 2064 2065 // BoundingPoly: The bounding polygon around the face. The coordinates 2066 // of the bounding box 2067 // are in the original image's scale. 2068 // The bounding box is computed to "frame" the face in accordance with 2069 // human 2070 // expectations. It is based on the landmarker results. 2071 // Note that one or more x and/or y coordinates may not be generated in 2072 // the 2073 // `BoundingPoly` (the polygon will be unbounded) if only a partial 2074 // face 2075 // appears in the image to be annotated. 2076 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 2077 2078 // DetectionConfidence: Detection confidence. Range [0, 1]. 2079 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 2080 2081 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 2082 // than the 2083 // `boundingPoly`, and encloses only the skin part of the face. 2084 // Typically, it 2085 // is used to eliminate the face from any image analysis that detects 2086 // the 2087 // "amount of skin" visible in an image. It is not based on 2088 // the 2089 // landmarker results, only on the initial face detection, hence 2090 // the <code>fd</code> (face detection) prefix. 2091 FdBoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 2092 2093 // HeadwearLikelihood: Headwear likelihood. 2094 // 2095 // Possible values: 2096 // "UNKNOWN" - Unknown likelihood. 2097 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 2098 // specified vertical. 2099 // "UNLIKELY" - It is unlikely that the image belongs to the specified 2100 // vertical. 2101 // "POSSIBLE" - It is possible that the image belongs to the specified 2102 // vertical. 2103 // "LIKELY" - It is likely that the image belongs to the specified 2104 // vertical. 2105 // "VERY_LIKELY" - It is very likely that the image belongs to the 2106 // specified vertical. 2107 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 2108 2109 // JoyLikelihood: Joy likelihood. 2110 // 2111 // Possible values: 2112 // "UNKNOWN" - Unknown likelihood. 2113 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 2114 // specified vertical. 2115 // "UNLIKELY" - It is unlikely that the image belongs to the specified 2116 // vertical. 2117 // "POSSIBLE" - It is possible that the image belongs to the specified 2118 // vertical. 2119 // "LIKELY" - It is likely that the image belongs to the specified 2120 // vertical. 2121 // "VERY_LIKELY" - It is very likely that the image belongs to the 2122 // specified vertical. 2123 JoyLikelihood string `json:"joyLikelihood,omitempty"` 2124 2125 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 2126 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 2127 2128 // Landmarks: Detected face landmarks. 2129 Landmarks []*GoogleCloudVisionV1p1beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 2130 2131 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 2132 // that the face is 2133 // pointing relative to the vertical plane perpendicular to the image. 2134 // Range 2135 // [-180,180]. 2136 PanAngle float64 `json:"panAngle,omitempty"` 2137 2138 // RollAngle: Roll angle, which indicates the amount of 2139 // clockwise/anti-clockwise rotation 2140 // of the face relative to the image vertical about the axis 2141 // perpendicular to 2142 // the face. Range [-180,180]. 2143 RollAngle float64 `json:"rollAngle,omitempty"` 2144 2145 // SorrowLikelihood: Sorrow likelihood. 2146 // 2147 // Possible values: 2148 // "UNKNOWN" - Unknown likelihood. 2149 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 2150 // specified vertical. 2151 // "UNLIKELY" - It is unlikely that the image belongs to the specified 2152 // vertical. 2153 // "POSSIBLE" - It is possible that the image belongs to the specified 2154 // vertical. 2155 // "LIKELY" - It is likely that the image belongs to the specified 2156 // vertical. 2157 // "VERY_LIKELY" - It is very likely that the image belongs to the 2158 // specified vertical. 2159 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 2160 2161 // SurpriseLikelihood: Surprise likelihood. 2162 // 2163 // Possible values: 2164 // "UNKNOWN" - Unknown likelihood. 2165 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 2166 // specified vertical. 2167 // "UNLIKELY" - It is unlikely that the image belongs to the specified 2168 // vertical. 2169 // "POSSIBLE" - It is possible that the image belongs to the specified 2170 // vertical. 2171 // "LIKELY" - It is likely that the image belongs to the specified 2172 // vertical. 2173 // "VERY_LIKELY" - It is very likely that the image belongs to the 2174 // specified vertical. 2175 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 2176 2177 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 2178 // that the face is 2179 // pointing relative to the image's horizontal plane. Range [-180,180]. 2180 TiltAngle float64 `json:"tiltAngle,omitempty"` 2181 2182 // UnderExposedLikelihood: Under-exposed likelihood. 2183 // 2184 // Possible values: 2185 // "UNKNOWN" - Unknown likelihood. 2186 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 2187 // specified vertical. 2188 // "UNLIKELY" - It is unlikely that the image belongs to the specified 2189 // vertical. 2190 // "POSSIBLE" - It is possible that the image belongs to the specified 2191 // vertical. 2192 // "LIKELY" - It is likely that the image belongs to the specified 2193 // vertical. 2194 // "VERY_LIKELY" - It is very likely that the image belongs to the 2195 // specified vertical. 2196 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 2197 2198 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 2199 // unconditionally include in API requests. By default, fields with 2200 // empty values are omitted from API requests. However, any non-pointer, 2201 // non-interface field appearing in ForceSendFields will be sent to the 2202 // server regardless of whether the field is empty or not. This may be 2203 // used to include empty fields in Patch requests. 2204 ForceSendFields []string `json:"-"` 2205 2206 // NullFields is a list of field names (e.g. "AngerLikelihood") to 2207 // include in API requests with the JSON null value. By default, fields 2208 // with empty values are omitted from API requests. However, any field 2209 // with an empty value appearing in NullFields will be sent to the 2210 // server as null. It is an error if a field in this list has a 2211 // non-empty value. This may be used to include null fields in Patch 2212 // requests. 2213 NullFields []string `json:"-"` 2214} 2215 2216func (s *GoogleCloudVisionV1p1beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 2217 type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotation 2218 raw := NoMethod(*s) 2219 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2220} 2221 2222func (s *GoogleCloudVisionV1p1beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 2223 type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotation 2224 var s1 struct { 2225 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 2226 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 2227 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 2228 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 2229 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 2230 *NoMethod 2231 } 2232 s1.NoMethod = (*NoMethod)(s) 2233 if err := json.Unmarshal(data, &s1); err != nil { 2234 return err 2235 } 2236 s.DetectionConfidence = float64(s1.DetectionConfidence) 2237 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 2238 s.PanAngle = float64(s1.PanAngle) 2239 s.RollAngle = float64(s1.RollAngle) 2240 s.TiltAngle = float64(s1.TiltAngle) 2241 return nil 2242} 2243 2244// GoogleCloudVisionV1p1beta1FaceAnnotationLandmark: A face-specific 2245// landmark (for example, a face feature). 2246type GoogleCloudVisionV1p1beta1FaceAnnotationLandmark struct { 2247 // Position: Face landmark position. 2248 Position *GoogleCloudVisionV1p1beta1Position `json:"position,omitempty"` 2249 2250 // Type: Face landmark type. 2251 // 2252 // Possible values: 2253 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 2254 // filled. 2255 // "LEFT_EYE" - Left eye. 2256 // "RIGHT_EYE" - Right eye. 2257 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 2258 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 2259 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 2260 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 2261 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 2262 // "NOSE_TIP" - Nose tip. 2263 // "UPPER_LIP" - Upper lip. 2264 // "LOWER_LIP" - Lower lip. 2265 // "MOUTH_LEFT" - Mouth left. 2266 // "MOUTH_RIGHT" - Mouth right. 2267 // "MOUTH_CENTER" - Mouth center. 2268 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 2269 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 2270 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 2271 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 2272 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 2273 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 2274 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 2275 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 2276 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 2277 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 2278 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 2279 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 2280 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 2281 // "LEFT_EAR_TRAGION" - Left ear tragion. 2282 // "RIGHT_EAR_TRAGION" - Right ear tragion. 2283 // "LEFT_EYE_PUPIL" - Left eye pupil. 2284 // "RIGHT_EYE_PUPIL" - Right eye pupil. 2285 // "FOREHEAD_GLABELLA" - Forehead glabella. 2286 // "CHIN_GNATHION" - Chin gnathion. 2287 // "CHIN_LEFT_GONION" - Chin left gonion. 2288 // "CHIN_RIGHT_GONION" - Chin right gonion. 2289 Type string `json:"type,omitempty"` 2290 2291 // ForceSendFields is a list of field names (e.g. "Position") to 2292 // unconditionally include in API requests. By default, fields with 2293 // empty values are omitted from API requests. However, any non-pointer, 2294 // non-interface field appearing in ForceSendFields will be sent to the 2295 // server regardless of whether the field is empty or not. This may be 2296 // used to include empty fields in Patch requests. 2297 ForceSendFields []string `json:"-"` 2298 2299 // NullFields is a list of field names (e.g. "Position") to include in 2300 // API requests with the JSON null value. By default, fields with empty 2301 // values are omitted from API requests. However, any field with an 2302 // empty value appearing in NullFields will be sent to the server as 2303 // null. It is an error if a field in this list has a non-empty value. 2304 // This may be used to include null fields in Patch requests. 2305 NullFields []string `json:"-"` 2306} 2307 2308func (s *GoogleCloudVisionV1p1beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 2309 type NoMethod GoogleCloudVisionV1p1beta1FaceAnnotationLandmark 2310 raw := NoMethod(*s) 2311 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2312} 2313 2314// GoogleCloudVisionV1p1beta1GcsDestination: The Google Cloud Storage 2315// location where the output will be written to. 2316type GoogleCloudVisionV1p1beta1GcsDestination struct { 2317 // Uri: Google Cloud Storage URI prefix where the results will be 2318 // stored. Results 2319 // will be in JSON format and preceded by its corresponding input URI 2320 // prefix. 2321 // This field can either represent a gcs file prefix or gcs directory. 2322 // In 2323 // either case, the uri should be unique because in order to get all of 2324 // the 2325 // output files, you will need to do a wildcard gcs search on the uri 2326 // prefix 2327 // you provide. 2328 // 2329 // Examples: 2330 // 2331 // * File Prefix: gs://bucket-name/here/filenameprefix The output 2332 // files 2333 // will be created in gs://bucket-name/here/ and the names of the 2334 // output files will begin with "filenameprefix". 2335 // 2336 // * Directory Prefix: gs://bucket-name/some/location/ The output 2337 // files 2338 // will be created in gs://bucket-name/some/location/ and the names of 2339 // the 2340 // output files could be anything because there was no filename 2341 // prefix 2342 // specified. 2343 // 2344 // If multiple outputs, each response is still AnnotateFileResponse, 2345 // each of 2346 // which contains some subset of the full list of 2347 // AnnotateImageResponse. 2348 // Multiple outputs can happen if, for example, the output JSON is too 2349 // large 2350 // and overflows into multiple sharded files. 2351 Uri string `json:"uri,omitempty"` 2352 2353 // ForceSendFields is a list of field names (e.g. "Uri") to 2354 // unconditionally include in API requests. By default, fields with 2355 // empty values are omitted from API requests. However, any non-pointer, 2356 // non-interface field appearing in ForceSendFields will be sent to the 2357 // server regardless of whether the field is empty or not. This may be 2358 // used to include empty fields in Patch requests. 2359 ForceSendFields []string `json:"-"` 2360 2361 // NullFields is a list of field names (e.g. "Uri") to include in API 2362 // requests with the JSON null value. By default, fields with empty 2363 // values are omitted from API requests. However, any field with an 2364 // empty value appearing in NullFields will be sent to the server as 2365 // null. It is an error if a field in this list has a non-empty value. 2366 // This may be used to include null fields in Patch requests. 2367 NullFields []string `json:"-"` 2368} 2369 2370func (s *GoogleCloudVisionV1p1beta1GcsDestination) MarshalJSON() ([]byte, error) { 2371 type NoMethod GoogleCloudVisionV1p1beta1GcsDestination 2372 raw := NoMethod(*s) 2373 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2374} 2375 2376// GoogleCloudVisionV1p1beta1GcsSource: The Google Cloud Storage 2377// location where the input will be read from. 2378type GoogleCloudVisionV1p1beta1GcsSource struct { 2379 // Uri: Google Cloud Storage URI for the input file. This must only be 2380 // a 2381 // Google Cloud Storage object. Wildcards are not currently supported. 2382 Uri string `json:"uri,omitempty"` 2383 2384 // ForceSendFields is a list of field names (e.g. "Uri") to 2385 // unconditionally include in API requests. By default, fields with 2386 // empty values are omitted from API requests. However, any non-pointer, 2387 // non-interface field appearing in ForceSendFields will be sent to the 2388 // server regardless of whether the field is empty or not. This may be 2389 // used to include empty fields in Patch requests. 2390 ForceSendFields []string `json:"-"` 2391 2392 // NullFields is a list of field names (e.g. "Uri") to include in API 2393 // requests with the JSON null value. By default, fields with empty 2394 // values are omitted from API requests. However, any field with an 2395 // empty value appearing in NullFields will be sent to the server as 2396 // null. It is an error if a field in this list has a non-empty value. 2397 // This may be used to include null fields in Patch requests. 2398 NullFields []string `json:"-"` 2399} 2400 2401func (s *GoogleCloudVisionV1p1beta1GcsSource) MarshalJSON() ([]byte, error) { 2402 type NoMethod GoogleCloudVisionV1p1beta1GcsSource 2403 raw := NoMethod(*s) 2404 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2405} 2406 2407// GoogleCloudVisionV1p1beta1ImageAnnotationContext: If an image was 2408// produced from a file (e.g. a PDF), this message gives 2409// information about the source of that image. 2410type GoogleCloudVisionV1p1beta1ImageAnnotationContext struct { 2411 // PageNumber: If the file was a PDF or TIFF, this field gives the page 2412 // number within 2413 // the file used to produce the image. 2414 PageNumber int64 `json:"pageNumber,omitempty"` 2415 2416 // Uri: The URI of the file used to produce the image. 2417 Uri string `json:"uri,omitempty"` 2418 2419 // ForceSendFields is a list of field names (e.g. "PageNumber") to 2420 // unconditionally include in API requests. By default, fields with 2421 // empty values are omitted from API requests. However, any non-pointer, 2422 // non-interface field appearing in ForceSendFields will be sent to the 2423 // server regardless of whether the field is empty or not. This may be 2424 // used to include empty fields in Patch requests. 2425 ForceSendFields []string `json:"-"` 2426 2427 // NullFields is a list of field names (e.g. "PageNumber") to include in 2428 // API requests with the JSON null value. By default, fields with empty 2429 // values are omitted from API requests. However, any field with an 2430 // empty value appearing in NullFields will be sent to the server as 2431 // null. It is an error if a field in this list has a non-empty value. 2432 // This may be used to include null fields in Patch requests. 2433 NullFields []string `json:"-"` 2434} 2435 2436func (s *GoogleCloudVisionV1p1beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 2437 type NoMethod GoogleCloudVisionV1p1beta1ImageAnnotationContext 2438 raw := NoMethod(*s) 2439 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2440} 2441 2442// GoogleCloudVisionV1p1beta1ImageProperties: Stores image properties, 2443// such as dominant colors. 2444type GoogleCloudVisionV1p1beta1ImageProperties struct { 2445 // DominantColors: If present, dominant colors completed successfully. 2446 DominantColors *GoogleCloudVisionV1p1beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 2447 2448 // ForceSendFields is a list of field names (e.g. "DominantColors") to 2449 // unconditionally include in API requests. By default, fields with 2450 // empty values are omitted from API requests. However, any non-pointer, 2451 // non-interface field appearing in ForceSendFields will be sent to the 2452 // server regardless of whether the field is empty or not. This may be 2453 // used to include empty fields in Patch requests. 2454 ForceSendFields []string `json:"-"` 2455 2456 // NullFields is a list of field names (e.g. "DominantColors") to 2457 // include in API requests with the JSON null value. By default, fields 2458 // with empty values are omitted from API requests. However, any field 2459 // with an empty value appearing in NullFields will be sent to the 2460 // server as null. It is an error if a field in this list has a 2461 // non-empty value. This may be used to include null fields in Patch 2462 // requests. 2463 NullFields []string `json:"-"` 2464} 2465 2466func (s *GoogleCloudVisionV1p1beta1ImageProperties) MarshalJSON() ([]byte, error) { 2467 type NoMethod GoogleCloudVisionV1p1beta1ImageProperties 2468 raw := NoMethod(*s) 2469 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2470} 2471 2472// GoogleCloudVisionV1p1beta1InputConfig: The desired input location and 2473// metadata. 2474type GoogleCloudVisionV1p1beta1InputConfig struct { 2475 // Content: File content, represented as a stream of bytes. 2476 // Note: As with all `bytes` fields, protobuffers use a pure 2477 // binary 2478 // representation, whereas JSON representations use base64. 2479 // 2480 // Currently, this field only works for BatchAnnotateFiles requests. It 2481 // does 2482 // not work for AsyncBatchAnnotateFiles requests. 2483 Content string `json:"content,omitempty"` 2484 2485 // GcsSource: The Google Cloud Storage location to read the input from. 2486 GcsSource *GoogleCloudVisionV1p1beta1GcsSource `json:"gcsSource,omitempty"` 2487 2488 // MimeType: The type of the file. Currently only "application/pdf", 2489 // "image/tiff" and 2490 // "image/gif" are supported. Wildcards are not supported. 2491 MimeType string `json:"mimeType,omitempty"` 2492 2493 // ForceSendFields is a list of field names (e.g. "Content") to 2494 // unconditionally include in API requests. By default, fields with 2495 // empty values are omitted from API requests. However, any non-pointer, 2496 // non-interface field appearing in ForceSendFields will be sent to the 2497 // server regardless of whether the field is empty or not. This may be 2498 // used to include empty fields in Patch requests. 2499 ForceSendFields []string `json:"-"` 2500 2501 // NullFields is a list of field names (e.g. "Content") to include in 2502 // API requests with the JSON null value. By default, fields with empty 2503 // values are omitted from API requests. However, any field with an 2504 // empty value appearing in NullFields will be sent to the server as 2505 // null. It is an error if a field in this list has a non-empty value. 2506 // This may be used to include null fields in Patch requests. 2507 NullFields []string `json:"-"` 2508} 2509 2510func (s *GoogleCloudVisionV1p1beta1InputConfig) MarshalJSON() ([]byte, error) { 2511 type NoMethod GoogleCloudVisionV1p1beta1InputConfig 2512 raw := NoMethod(*s) 2513 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2514} 2515 2516// GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation: Set of detected 2517// objects with bounding boxes. 2518type GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation struct { 2519 // BoundingPoly: Image region to which this object belongs. This must be 2520 // populated. 2521 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 2522 2523 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 2524 // For more 2525 // information, 2526 // see 2527 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 2528 LanguageCode string `json:"languageCode,omitempty"` 2529 2530 // Mid: Object ID that should align with EntityAnnotation mid. 2531 Mid string `json:"mid,omitempty"` 2532 2533 // Name: Object name, expressed in its `language_code` language. 2534 Name string `json:"name,omitempty"` 2535 2536 // Score: Score of the result. Range [0, 1]. 2537 Score float64 `json:"score,omitempty"` 2538 2539 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 2540 // unconditionally include in API requests. By default, fields with 2541 // empty values are omitted from API requests. However, any non-pointer, 2542 // non-interface field appearing in ForceSendFields will be sent to the 2543 // server regardless of whether the field is empty or not. This may be 2544 // used to include empty fields in Patch requests. 2545 ForceSendFields []string `json:"-"` 2546 2547 // NullFields is a list of field names (e.g. "BoundingPoly") to include 2548 // in API requests with the JSON null value. By default, fields with 2549 // empty values are omitted from API requests. However, any field with 2550 // an empty value appearing in NullFields will be sent to the server as 2551 // null. It is an error if a field in this list has a non-empty value. 2552 // This may be used to include null fields in Patch requests. 2553 NullFields []string `json:"-"` 2554} 2555 2556func (s *GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 2557 type NoMethod GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation 2558 raw := NoMethod(*s) 2559 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2560} 2561 2562func (s *GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 2563 type NoMethod GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation 2564 var s1 struct { 2565 Score gensupport.JSONFloat64 `json:"score"` 2566 *NoMethod 2567 } 2568 s1.NoMethod = (*NoMethod)(s) 2569 if err := json.Unmarshal(data, &s1); err != nil { 2570 return err 2571 } 2572 s.Score = float64(s1.Score) 2573 return nil 2574} 2575 2576// GoogleCloudVisionV1p1beta1LocationInfo: Detected entity location 2577// information. 2578type GoogleCloudVisionV1p1beta1LocationInfo struct { 2579 // LatLng: lat/long location coordinates. 2580 LatLng *LatLng `json:"latLng,omitempty"` 2581 2582 // ForceSendFields is a list of field names (e.g. "LatLng") to 2583 // unconditionally include in API requests. By default, fields with 2584 // empty values are omitted from API requests. However, any non-pointer, 2585 // non-interface field appearing in ForceSendFields will be sent to the 2586 // server regardless of whether the field is empty or not. This may be 2587 // used to include empty fields in Patch requests. 2588 ForceSendFields []string `json:"-"` 2589 2590 // NullFields is a list of field names (e.g. "LatLng") to include in API 2591 // requests with the JSON null value. By default, fields with empty 2592 // values are omitted from API requests. However, any field with an 2593 // empty value appearing in NullFields will be sent to the server as 2594 // null. It is an error if a field in this list has a non-empty value. 2595 // This may be used to include null fields in Patch requests. 2596 NullFields []string `json:"-"` 2597} 2598 2599func (s *GoogleCloudVisionV1p1beta1LocationInfo) MarshalJSON() ([]byte, error) { 2600 type NoMethod GoogleCloudVisionV1p1beta1LocationInfo 2601 raw := NoMethod(*s) 2602 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2603} 2604 2605// GoogleCloudVisionV1p1beta1NormalizedVertex: A vertex represents a 2D 2606// point in the image. 2607// NOTE: the normalized vertex coordinates are relative to the original 2608// image 2609// and range from 0 to 1. 2610type GoogleCloudVisionV1p1beta1NormalizedVertex struct { 2611 // X: X coordinate. 2612 X float64 `json:"x,omitempty"` 2613 2614 // Y: Y coordinate. 2615 Y float64 `json:"y,omitempty"` 2616 2617 // ForceSendFields is a list of field names (e.g. "X") to 2618 // unconditionally include in API requests. By default, fields with 2619 // empty values are omitted from API requests. However, any non-pointer, 2620 // non-interface field appearing in ForceSendFields will be sent to the 2621 // server regardless of whether the field is empty or not. This may be 2622 // used to include empty fields in Patch requests. 2623 ForceSendFields []string `json:"-"` 2624 2625 // NullFields is a list of field names (e.g. "X") to include in API 2626 // requests with the JSON null value. By default, fields with empty 2627 // values are omitted from API requests. However, any field with an 2628 // empty value appearing in NullFields will be sent to the server as 2629 // null. It is an error if a field in this list has a non-empty value. 2630 // This may be used to include null fields in Patch requests. 2631 NullFields []string `json:"-"` 2632} 2633 2634func (s *GoogleCloudVisionV1p1beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 2635 type NoMethod GoogleCloudVisionV1p1beta1NormalizedVertex 2636 raw := NoMethod(*s) 2637 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2638} 2639 2640func (s *GoogleCloudVisionV1p1beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 2641 type NoMethod GoogleCloudVisionV1p1beta1NormalizedVertex 2642 var s1 struct { 2643 X gensupport.JSONFloat64 `json:"x"` 2644 Y gensupport.JSONFloat64 `json:"y"` 2645 *NoMethod 2646 } 2647 s1.NoMethod = (*NoMethod)(s) 2648 if err := json.Unmarshal(data, &s1); err != nil { 2649 return err 2650 } 2651 s.X = float64(s1.X) 2652 s.Y = float64(s1.Y) 2653 return nil 2654} 2655 2656// GoogleCloudVisionV1p1beta1OperationMetadata: Contains metadata for 2657// the BatchAnnotateImages operation. 2658type GoogleCloudVisionV1p1beta1OperationMetadata struct { 2659 // CreateTime: The time when the batch request was received. 2660 CreateTime string `json:"createTime,omitempty"` 2661 2662 // State: Current state of the batch operation. 2663 // 2664 // Possible values: 2665 // "STATE_UNSPECIFIED" - Invalid. 2666 // "CREATED" - Request is received. 2667 // "RUNNING" - Request is actively being processed. 2668 // "DONE" - The batch processing is done. 2669 // "CANCELLED" - The batch processing was cancelled. 2670 State string `json:"state,omitempty"` 2671 2672 // UpdateTime: The time when the operation result was last updated. 2673 UpdateTime string `json:"updateTime,omitempty"` 2674 2675 // ForceSendFields is a list of field names (e.g. "CreateTime") to 2676 // unconditionally include in API requests. By default, fields with 2677 // empty values are omitted from API requests. However, any non-pointer, 2678 // non-interface field appearing in ForceSendFields will be sent to the 2679 // server regardless of whether the field is empty or not. This may be 2680 // used to include empty fields in Patch requests. 2681 ForceSendFields []string `json:"-"` 2682 2683 // NullFields is a list of field names (e.g. "CreateTime") to include in 2684 // API requests with the JSON null value. By default, fields with empty 2685 // values are omitted from API requests. However, any field with an 2686 // empty value appearing in NullFields will be sent to the server as 2687 // null. It is an error if a field in this list has a non-empty value. 2688 // This may be used to include null fields in Patch requests. 2689 NullFields []string `json:"-"` 2690} 2691 2692func (s *GoogleCloudVisionV1p1beta1OperationMetadata) MarshalJSON() ([]byte, error) { 2693 type NoMethod GoogleCloudVisionV1p1beta1OperationMetadata 2694 raw := NoMethod(*s) 2695 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2696} 2697 2698// GoogleCloudVisionV1p1beta1OutputConfig: The desired output location 2699// and metadata. 2700type GoogleCloudVisionV1p1beta1OutputConfig struct { 2701 // BatchSize: The max number of response protos to put into each output 2702 // JSON file on 2703 // Google Cloud Storage. 2704 // The valid range is [1, 100]. If not specified, the default value is 2705 // 20. 2706 // 2707 // For example, for one pdf file with 100 pages, 100 response protos 2708 // will 2709 // be generated. If `batch_size` = 20, then 5 json files each 2710 // containing 20 response protos will be written under the 2711 // prefix 2712 // `gcs_destination`.`uri`. 2713 // 2714 // Currently, batch_size only applies to GcsDestination, with potential 2715 // future 2716 // support for other output configurations. 2717 BatchSize int64 `json:"batchSize,omitempty"` 2718 2719 // GcsDestination: The Google Cloud Storage location to write the 2720 // output(s) to. 2721 GcsDestination *GoogleCloudVisionV1p1beta1GcsDestination `json:"gcsDestination,omitempty"` 2722 2723 // ForceSendFields is a list of field names (e.g. "BatchSize") to 2724 // unconditionally include in API requests. By default, fields with 2725 // empty values are omitted from API requests. However, any non-pointer, 2726 // non-interface field appearing in ForceSendFields will be sent to the 2727 // server regardless of whether the field is empty or not. This may be 2728 // used to include empty fields in Patch requests. 2729 ForceSendFields []string `json:"-"` 2730 2731 // NullFields is a list of field names (e.g. "BatchSize") to include in 2732 // API requests with the JSON null value. By default, fields with empty 2733 // values are omitted from API requests. However, any field with an 2734 // empty value appearing in NullFields will be sent to the server as 2735 // null. It is an error if a field in this list has a non-empty value. 2736 // This may be used to include null fields in Patch requests. 2737 NullFields []string `json:"-"` 2738} 2739 2740func (s *GoogleCloudVisionV1p1beta1OutputConfig) MarshalJSON() ([]byte, error) { 2741 type NoMethod GoogleCloudVisionV1p1beta1OutputConfig 2742 raw := NoMethod(*s) 2743 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2744} 2745 2746// GoogleCloudVisionV1p1beta1Page: Detected page from OCR. 2747type GoogleCloudVisionV1p1beta1Page struct { 2748 // Blocks: List of blocks of text, images etc on this page. 2749 Blocks []*GoogleCloudVisionV1p1beta1Block `json:"blocks,omitempty"` 2750 2751 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 2752 Confidence float64 `json:"confidence,omitempty"` 2753 2754 // Height: Page height. For PDFs the unit is points. For images 2755 // (including 2756 // TIFFs) the unit is pixels. 2757 Height int64 `json:"height,omitempty"` 2758 2759 // Property: Additional information detected on the page. 2760 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 2761 2762 // Width: Page width. For PDFs the unit is points. For images 2763 // (including 2764 // TIFFs) the unit is pixels. 2765 Width int64 `json:"width,omitempty"` 2766 2767 // ForceSendFields is a list of field names (e.g. "Blocks") to 2768 // unconditionally include in API requests. By default, fields with 2769 // empty values are omitted from API requests. However, any non-pointer, 2770 // non-interface field appearing in ForceSendFields will be sent to the 2771 // server regardless of whether the field is empty or not. This may be 2772 // used to include empty fields in Patch requests. 2773 ForceSendFields []string `json:"-"` 2774 2775 // NullFields is a list of field names (e.g. "Blocks") to include in API 2776 // requests with the JSON null value. By default, fields with empty 2777 // values are omitted from API requests. However, any field with an 2778 // empty value appearing in NullFields will be sent to the server as 2779 // null. It is an error if a field in this list has a non-empty value. 2780 // This may be used to include null fields in Patch requests. 2781 NullFields []string `json:"-"` 2782} 2783 2784func (s *GoogleCloudVisionV1p1beta1Page) MarshalJSON() ([]byte, error) { 2785 type NoMethod GoogleCloudVisionV1p1beta1Page 2786 raw := NoMethod(*s) 2787 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2788} 2789 2790func (s *GoogleCloudVisionV1p1beta1Page) UnmarshalJSON(data []byte) error { 2791 type NoMethod GoogleCloudVisionV1p1beta1Page 2792 var s1 struct { 2793 Confidence gensupport.JSONFloat64 `json:"confidence"` 2794 *NoMethod 2795 } 2796 s1.NoMethod = (*NoMethod)(s) 2797 if err := json.Unmarshal(data, &s1); err != nil { 2798 return err 2799 } 2800 s.Confidence = float64(s1.Confidence) 2801 return nil 2802} 2803 2804// GoogleCloudVisionV1p1beta1Paragraph: Structural unit of text 2805// representing a number of words in certain order. 2806type GoogleCloudVisionV1p1beta1Paragraph struct { 2807 // BoundingBox: The bounding box for the paragraph. 2808 // The vertices are in the order of top-left, top-right, 2809 // bottom-right, 2810 // bottom-left. When a rotation of the bounding box is detected the 2811 // rotation 2812 // is represented as around the top-left corner as defined when the text 2813 // is 2814 // read in the 'natural' orientation. 2815 // For example: 2816 // * when the text is horizontal it might look like: 2817 // 0----1 2818 // | | 2819 // 3----2 2820 // * when it's rotated 180 degrees around the top-left corner it 2821 // becomes: 2822 // 2----3 2823 // | | 2824 // 1----0 2825 // and the vertex order will still be (0, 1, 2, 3). 2826 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 2827 2828 // Confidence: Confidence of the OCR results for the paragraph. Range 2829 // [0, 1]. 2830 Confidence float64 `json:"confidence,omitempty"` 2831 2832 // Property: Additional information detected for the paragraph. 2833 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 2834 2835 // Words: List of words in this paragraph. 2836 Words []*GoogleCloudVisionV1p1beta1Word `json:"words,omitempty"` 2837 2838 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 2839 // unconditionally include in API requests. By default, fields with 2840 // empty values are omitted from API requests. However, any non-pointer, 2841 // non-interface field appearing in ForceSendFields will be sent to the 2842 // server regardless of whether the field is empty or not. This may be 2843 // used to include empty fields in Patch requests. 2844 ForceSendFields []string `json:"-"` 2845 2846 // NullFields is a list of field names (e.g. "BoundingBox") to include 2847 // in API requests with the JSON null value. By default, fields with 2848 // empty values are omitted from API requests. However, any field with 2849 // an empty value appearing in NullFields will be sent to the server as 2850 // null. It is an error if a field in this list has a non-empty value. 2851 // This may be used to include null fields in Patch requests. 2852 NullFields []string `json:"-"` 2853} 2854 2855func (s *GoogleCloudVisionV1p1beta1Paragraph) MarshalJSON() ([]byte, error) { 2856 type NoMethod GoogleCloudVisionV1p1beta1Paragraph 2857 raw := NoMethod(*s) 2858 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2859} 2860 2861func (s *GoogleCloudVisionV1p1beta1Paragraph) UnmarshalJSON(data []byte) error { 2862 type NoMethod GoogleCloudVisionV1p1beta1Paragraph 2863 var s1 struct { 2864 Confidence gensupport.JSONFloat64 `json:"confidence"` 2865 *NoMethod 2866 } 2867 s1.NoMethod = (*NoMethod)(s) 2868 if err := json.Unmarshal(data, &s1); err != nil { 2869 return err 2870 } 2871 s.Confidence = float64(s1.Confidence) 2872 return nil 2873} 2874 2875// GoogleCloudVisionV1p1beta1Position: A 3D position in the image, used 2876// primarily for Face detection landmarks. 2877// A valid Position must have both x and y coordinates. 2878// The position coordinates are in the same scale as the original image. 2879type GoogleCloudVisionV1p1beta1Position struct { 2880 // X: X coordinate. 2881 X float64 `json:"x,omitempty"` 2882 2883 // Y: Y coordinate. 2884 Y float64 `json:"y,omitempty"` 2885 2886 // Z: Z coordinate (or depth). 2887 Z float64 `json:"z,omitempty"` 2888 2889 // ForceSendFields is a list of field names (e.g. "X") to 2890 // unconditionally include in API requests. By default, fields with 2891 // empty values are omitted from API requests. However, any non-pointer, 2892 // non-interface field appearing in ForceSendFields will be sent to the 2893 // server regardless of whether the field is empty or not. This may be 2894 // used to include empty fields in Patch requests. 2895 ForceSendFields []string `json:"-"` 2896 2897 // NullFields is a list of field names (e.g. "X") to include in API 2898 // requests with the JSON null value. By default, fields with empty 2899 // values are omitted from API requests. However, any field with an 2900 // empty value appearing in NullFields will be sent to the server as 2901 // null. It is an error if a field in this list has a non-empty value. 2902 // This may be used to include null fields in Patch requests. 2903 NullFields []string `json:"-"` 2904} 2905 2906func (s *GoogleCloudVisionV1p1beta1Position) MarshalJSON() ([]byte, error) { 2907 type NoMethod GoogleCloudVisionV1p1beta1Position 2908 raw := NoMethod(*s) 2909 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2910} 2911 2912func (s *GoogleCloudVisionV1p1beta1Position) UnmarshalJSON(data []byte) error { 2913 type NoMethod GoogleCloudVisionV1p1beta1Position 2914 var s1 struct { 2915 X gensupport.JSONFloat64 `json:"x"` 2916 Y gensupport.JSONFloat64 `json:"y"` 2917 Z gensupport.JSONFloat64 `json:"z"` 2918 *NoMethod 2919 } 2920 s1.NoMethod = (*NoMethod)(s) 2921 if err := json.Unmarshal(data, &s1); err != nil { 2922 return err 2923 } 2924 s.X = float64(s1.X) 2925 s.Y = float64(s1.Y) 2926 s.Z = float64(s1.Z) 2927 return nil 2928} 2929 2930// GoogleCloudVisionV1p1beta1Product: A Product contains 2931// ReferenceImages. 2932type GoogleCloudVisionV1p1beta1Product struct { 2933 // Description: User-provided metadata to be stored with this product. 2934 // Must be at most 4096 2935 // characters long. 2936 Description string `json:"description,omitempty"` 2937 2938 // DisplayName: The user-provided name for this Product. Must not be 2939 // empty. Must be at most 2940 // 4096 characters long. 2941 DisplayName string `json:"displayName,omitempty"` 2942 2943 // Name: The resource name of the product. 2944 // 2945 // Format 2946 // is: 2947 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 2948 // 2949 // This field is ignored when creating a product. 2950 Name string `json:"name,omitempty"` 2951 2952 // ProductCategory: The category for the product identified by the 2953 // reference image. This should 2954 // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy 2955 // categories 2956 // "homegoods", "apparel", and "toys" are still supported, but these 2957 // should 2958 // not be used for new products. 2959 // 2960 // This field is immutable. 2961 ProductCategory string `json:"productCategory,omitempty"` 2962 2963 // ProductLabels: Key-value pairs that can be attached to a product. At 2964 // query time, 2965 // constraints can be specified based on the product_labels. 2966 // 2967 // Note that integer values can be provided as strings, e.g. "1199". 2968 // Only 2969 // strings with integer values can match a range-based restriction which 2970 // is 2971 // to be supported soon. 2972 // 2973 // Multiple values can be assigned to the same key. One product may have 2974 // up to 2975 // 100 product_labels. 2976 ProductLabels []*GoogleCloudVisionV1p1beta1ProductKeyValue `json:"productLabels,omitempty"` 2977 2978 // ForceSendFields is a list of field names (e.g. "Description") to 2979 // unconditionally include in API requests. By default, fields with 2980 // empty values are omitted from API requests. However, any non-pointer, 2981 // non-interface field appearing in ForceSendFields will be sent to the 2982 // server regardless of whether the field is empty or not. This may be 2983 // used to include empty fields in Patch requests. 2984 ForceSendFields []string `json:"-"` 2985 2986 // NullFields is a list of field names (e.g. "Description") to include 2987 // in API requests with the JSON null value. By default, fields with 2988 // empty values are omitted from API requests. However, any field with 2989 // an empty value appearing in NullFields will be sent to the server as 2990 // null. It is an error if a field in this list has a non-empty value. 2991 // This may be used to include null fields in Patch requests. 2992 NullFields []string `json:"-"` 2993} 2994 2995func (s *GoogleCloudVisionV1p1beta1Product) MarshalJSON() ([]byte, error) { 2996 type NoMethod GoogleCloudVisionV1p1beta1Product 2997 raw := NoMethod(*s) 2998 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 2999} 3000 3001// GoogleCloudVisionV1p1beta1ProductKeyValue: A product label 3002// represented as a key-value pair. 3003type GoogleCloudVisionV1p1beta1ProductKeyValue struct { 3004 // Key: The key of the label attached to the product. Cannot be empty 3005 // and cannot 3006 // exceed 128 bytes. 3007 Key string `json:"key,omitempty"` 3008 3009 // Value: The value of the label attached to the product. Cannot be 3010 // empty and 3011 // cannot exceed 128 bytes. 3012 Value string `json:"value,omitempty"` 3013 3014 // ForceSendFields is a list of field names (e.g. "Key") to 3015 // unconditionally include in API requests. By default, fields with 3016 // empty values are omitted from API requests. However, any non-pointer, 3017 // non-interface field appearing in ForceSendFields will be sent to the 3018 // server regardless of whether the field is empty or not. This may be 3019 // used to include empty fields in Patch requests. 3020 ForceSendFields []string `json:"-"` 3021 3022 // NullFields is a list of field names (e.g. "Key") to include in API 3023 // requests with the JSON null value. By default, fields with empty 3024 // values are omitted from API requests. However, any field with an 3025 // empty value appearing in NullFields will be sent to the server as 3026 // null. It is an error if a field in this list has a non-empty value. 3027 // This may be used to include null fields in Patch requests. 3028 NullFields []string `json:"-"` 3029} 3030 3031func (s *GoogleCloudVisionV1p1beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 3032 type NoMethod GoogleCloudVisionV1p1beta1ProductKeyValue 3033 raw := NoMethod(*s) 3034 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3035} 3036 3037// GoogleCloudVisionV1p1beta1ProductSearchResults: Results for a product 3038// search request. 3039type GoogleCloudVisionV1p1beta1ProductSearchResults struct { 3040 // IndexTime: Timestamp of the index which provided these results. 3041 // Products added to the 3042 // product set and products removed from the product set after this time 3043 // are 3044 // not reflected in the current results. 3045 IndexTime string `json:"indexTime,omitempty"` 3046 3047 // ProductGroupedResults: List of results grouped by products detected 3048 // in the query image. Each entry 3049 // corresponds to one bounding polygon in the query image, and contains 3050 // the 3051 // matching products specific to that region. There may be duplicate 3052 // product 3053 // matches in the union of all the per-product results. 3054 ProductGroupedResults []*GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 3055 3056 // Results: List of results, one for each product match. 3057 Results []*GoogleCloudVisionV1p1beta1ProductSearchResultsResult `json:"results,omitempty"` 3058 3059 // ForceSendFields is a list of field names (e.g. "IndexTime") to 3060 // unconditionally include in API requests. By default, fields with 3061 // empty values are omitted from API requests. However, any non-pointer, 3062 // non-interface field appearing in ForceSendFields will be sent to the 3063 // server regardless of whether the field is empty or not. This may be 3064 // used to include empty fields in Patch requests. 3065 ForceSendFields []string `json:"-"` 3066 3067 // NullFields is a list of field names (e.g. "IndexTime") to include in 3068 // API requests with the JSON null value. By default, fields with empty 3069 // values are omitted from API requests. However, any field with an 3070 // empty value appearing in NullFields will be sent to the server as 3071 // null. It is an error if a field in this list has a non-empty value. 3072 // This may be used to include null fields in Patch requests. 3073 NullFields []string `json:"-"` 3074} 3075 3076func (s *GoogleCloudVisionV1p1beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 3077 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResults 3078 raw := NoMethod(*s) 3079 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3080} 3081 3082// GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult: 3083// Information about the products similar to a single product in a 3084// query 3085// image. 3086type GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult struct { 3087 // BoundingPoly: The bounding polygon around the product detected in the 3088 // query image. 3089 BoundingPoly *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingPoly,omitempty"` 3090 3091 // Results: List of results, one for each product match. 3092 Results []*GoogleCloudVisionV1p1beta1ProductSearchResultsResult `json:"results,omitempty"` 3093 3094 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 3095 // unconditionally include in API requests. By default, fields with 3096 // empty values are omitted from API requests. However, any non-pointer, 3097 // non-interface field appearing in ForceSendFields will be sent to the 3098 // server regardless of whether the field is empty or not. This may be 3099 // used to include empty fields in Patch requests. 3100 ForceSendFields []string `json:"-"` 3101 3102 // NullFields is a list of field names (e.g. "BoundingPoly") to include 3103 // in API requests with the JSON null value. By default, fields with 3104 // empty values are omitted from API requests. However, any field with 3105 // an empty value appearing in NullFields will be sent to the server as 3106 // null. It is an error if a field in this list has a non-empty value. 3107 // This may be used to include null fields in Patch requests. 3108 NullFields []string `json:"-"` 3109} 3110 3111func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 3112 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult 3113 raw := NoMethod(*s) 3114 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3115} 3116 3117// GoogleCloudVisionV1p1beta1ProductSearchResultsResult: Information 3118// about a product. 3119type GoogleCloudVisionV1p1beta1ProductSearchResultsResult struct { 3120 // Image: The resource name of the image from the product that is the 3121 // closest match 3122 // to the query. 3123 Image string `json:"image,omitempty"` 3124 3125 // Product: The Product. 3126 Product *GoogleCloudVisionV1p1beta1Product `json:"product,omitempty"` 3127 3128 // Score: A confidence level on the match, ranging from 0 (no 3129 // confidence) to 3130 // 1 (full confidence). 3131 Score float64 `json:"score,omitempty"` 3132 3133 // ForceSendFields is a list of field names (e.g. "Image") to 3134 // unconditionally include in API requests. By default, fields with 3135 // empty values are omitted from API requests. However, any non-pointer, 3136 // non-interface field appearing in ForceSendFields will be sent to the 3137 // server regardless of whether the field is empty or not. This may be 3138 // used to include empty fields in Patch requests. 3139 ForceSendFields []string `json:"-"` 3140 3141 // NullFields is a list of field names (e.g. "Image") to include in API 3142 // requests with the JSON null value. By default, fields with empty 3143 // values are omitted from API requests. However, any field with an 3144 // empty value appearing in NullFields will be sent to the server as 3145 // null. It is an error if a field in this list has a non-empty value. 3146 // This may be used to include null fields in Patch requests. 3147 NullFields []string `json:"-"` 3148} 3149 3150func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 3151 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsResult 3152 raw := NoMethod(*s) 3153 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3154} 3155 3156func (s *GoogleCloudVisionV1p1beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 3157 type NoMethod GoogleCloudVisionV1p1beta1ProductSearchResultsResult 3158 var s1 struct { 3159 Score gensupport.JSONFloat64 `json:"score"` 3160 *NoMethod 3161 } 3162 s1.NoMethod = (*NoMethod)(s) 3163 if err := json.Unmarshal(data, &s1); err != nil { 3164 return err 3165 } 3166 s.Score = float64(s1.Score) 3167 return nil 3168} 3169 3170// GoogleCloudVisionV1p1beta1Property: A `Property` consists of a 3171// user-supplied name/value pair. 3172type GoogleCloudVisionV1p1beta1Property struct { 3173 // Name: Name of the property. 3174 Name string `json:"name,omitempty"` 3175 3176 // Uint64Value: Value of numeric properties. 3177 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 3178 3179 // Value: Value of the property. 3180 Value string `json:"value,omitempty"` 3181 3182 // ForceSendFields is a list of field names (e.g. "Name") to 3183 // unconditionally include in API requests. By default, fields with 3184 // empty values are omitted from API requests. However, any non-pointer, 3185 // non-interface field appearing in ForceSendFields will be sent to the 3186 // server regardless of whether the field is empty or not. This may be 3187 // used to include empty fields in Patch requests. 3188 ForceSendFields []string `json:"-"` 3189 3190 // NullFields is a list of field names (e.g. "Name") to include in API 3191 // requests with the JSON null value. By default, fields with empty 3192 // values are omitted from API requests. However, any field with an 3193 // empty value appearing in NullFields will be sent to the server as 3194 // null. It is an error if a field in this list has a non-empty value. 3195 // This may be used to include null fields in Patch requests. 3196 NullFields []string `json:"-"` 3197} 3198 3199func (s *GoogleCloudVisionV1p1beta1Property) MarshalJSON() ([]byte, error) { 3200 type NoMethod GoogleCloudVisionV1p1beta1Property 3201 raw := NoMethod(*s) 3202 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3203} 3204 3205// GoogleCloudVisionV1p1beta1SafeSearchAnnotation: Set of features 3206// pertaining to the image, computed by computer vision 3207// methods over safe-search verticals (for example, adult, spoof, 3208// medical, 3209// violence). 3210type GoogleCloudVisionV1p1beta1SafeSearchAnnotation struct { 3211 // Adult: Represents the adult content likelihood for the image. Adult 3212 // content may 3213 // contain elements such as nudity, pornographic images or cartoons, 3214 // or 3215 // sexual activities. 3216 // 3217 // Possible values: 3218 // "UNKNOWN" - Unknown likelihood. 3219 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 3220 // specified vertical. 3221 // "UNLIKELY" - It is unlikely that the image belongs to the specified 3222 // vertical. 3223 // "POSSIBLE" - It is possible that the image belongs to the specified 3224 // vertical. 3225 // "LIKELY" - It is likely that the image belongs to the specified 3226 // vertical. 3227 // "VERY_LIKELY" - It is very likely that the image belongs to the 3228 // specified vertical. 3229 Adult string `json:"adult,omitempty"` 3230 3231 // Medical: Likelihood that this is a medical image. 3232 // 3233 // Possible values: 3234 // "UNKNOWN" - Unknown likelihood. 3235 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 3236 // specified vertical. 3237 // "UNLIKELY" - It is unlikely that the image belongs to the specified 3238 // vertical. 3239 // "POSSIBLE" - It is possible that the image belongs to the specified 3240 // vertical. 3241 // "LIKELY" - It is likely that the image belongs to the specified 3242 // vertical. 3243 // "VERY_LIKELY" - It is very likely that the image belongs to the 3244 // specified vertical. 3245 Medical string `json:"medical,omitempty"` 3246 3247 // Racy: Likelihood that the request image contains racy content. Racy 3248 // content may 3249 // include (but is not limited to) skimpy or sheer clothing, 3250 // strategically 3251 // covered nudity, lewd or provocative poses, or close-ups of 3252 // sensitive 3253 // body areas. 3254 // 3255 // Possible values: 3256 // "UNKNOWN" - Unknown likelihood. 3257 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 3258 // specified vertical. 3259 // "UNLIKELY" - It is unlikely that the image belongs to the specified 3260 // vertical. 3261 // "POSSIBLE" - It is possible that the image belongs to the specified 3262 // vertical. 3263 // "LIKELY" - It is likely that the image belongs to the specified 3264 // vertical. 3265 // "VERY_LIKELY" - It is very likely that the image belongs to the 3266 // specified vertical. 3267 Racy string `json:"racy,omitempty"` 3268 3269 // Spoof: Spoof likelihood. The likelihood that an modification 3270 // was made to the image's canonical version to make it appear 3271 // funny or offensive. 3272 // 3273 // Possible values: 3274 // "UNKNOWN" - Unknown likelihood. 3275 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 3276 // specified vertical. 3277 // "UNLIKELY" - It is unlikely that the image belongs to the specified 3278 // vertical. 3279 // "POSSIBLE" - It is possible that the image belongs to the specified 3280 // vertical. 3281 // "LIKELY" - It is likely that the image belongs to the specified 3282 // vertical. 3283 // "VERY_LIKELY" - It is very likely that the image belongs to the 3284 // specified vertical. 3285 Spoof string `json:"spoof,omitempty"` 3286 3287 // Violence: Likelihood that this image contains violent content. 3288 // 3289 // Possible values: 3290 // "UNKNOWN" - Unknown likelihood. 3291 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 3292 // specified vertical. 3293 // "UNLIKELY" - It is unlikely that the image belongs to the specified 3294 // vertical. 3295 // "POSSIBLE" - It is possible that the image belongs to the specified 3296 // vertical. 3297 // "LIKELY" - It is likely that the image belongs to the specified 3298 // vertical. 3299 // "VERY_LIKELY" - It is very likely that the image belongs to the 3300 // specified vertical. 3301 Violence string `json:"violence,omitempty"` 3302 3303 // ForceSendFields is a list of field names (e.g. "Adult") to 3304 // unconditionally include in API requests. By default, fields with 3305 // empty values are omitted from API requests. However, any non-pointer, 3306 // non-interface field appearing in ForceSendFields will be sent to the 3307 // server regardless of whether the field is empty or not. This may be 3308 // used to include empty fields in Patch requests. 3309 ForceSendFields []string `json:"-"` 3310 3311 // NullFields is a list of field names (e.g. "Adult") to include in API 3312 // requests with the JSON null value. By default, fields with empty 3313 // values are omitted from API requests. However, any field with an 3314 // empty value appearing in NullFields will be sent to the server as 3315 // null. It is an error if a field in this list has a non-empty value. 3316 // This may be used to include null fields in Patch requests. 3317 NullFields []string `json:"-"` 3318} 3319 3320func (s *GoogleCloudVisionV1p1beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 3321 type NoMethod GoogleCloudVisionV1p1beta1SafeSearchAnnotation 3322 raw := NoMethod(*s) 3323 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3324} 3325 3326// GoogleCloudVisionV1p1beta1Symbol: A single symbol representation. 3327type GoogleCloudVisionV1p1beta1Symbol struct { 3328 // BoundingBox: The bounding box for the symbol. 3329 // The vertices are in the order of top-left, top-right, 3330 // bottom-right, 3331 // bottom-left. When a rotation of the bounding box is detected the 3332 // rotation 3333 // is represented as around the top-left corner as defined when the text 3334 // is 3335 // read in the 'natural' orientation. 3336 // For example: 3337 // * when the text is horizontal it might look like: 3338 // 0----1 3339 // | | 3340 // 3----2 3341 // * when it's rotated 180 degrees around the top-left corner it 3342 // becomes: 3343 // 2----3 3344 // | | 3345 // 1----0 3346 // and the vertice order will still be (0, 1, 2, 3). 3347 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 3348 3349 // Confidence: Confidence of the OCR results for the symbol. Range [0, 3350 // 1]. 3351 Confidence float64 `json:"confidence,omitempty"` 3352 3353 // Property: Additional information detected for the symbol. 3354 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 3355 3356 // Text: The actual UTF-8 representation of the symbol. 3357 Text string `json:"text,omitempty"` 3358 3359 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 3360 // unconditionally include in API requests. By default, fields with 3361 // empty values are omitted from API requests. However, any non-pointer, 3362 // non-interface field appearing in ForceSendFields will be sent to the 3363 // server regardless of whether the field is empty or not. This may be 3364 // used to include empty fields in Patch requests. 3365 ForceSendFields []string `json:"-"` 3366 3367 // NullFields is a list of field names (e.g. "BoundingBox") to include 3368 // in API requests with the JSON null value. By default, fields with 3369 // empty values are omitted from API requests. However, any field with 3370 // an empty value appearing in NullFields will be sent to the server as 3371 // null. It is an error if a field in this list has a non-empty value. 3372 // This may be used to include null fields in Patch requests. 3373 NullFields []string `json:"-"` 3374} 3375 3376func (s *GoogleCloudVisionV1p1beta1Symbol) MarshalJSON() ([]byte, error) { 3377 type NoMethod GoogleCloudVisionV1p1beta1Symbol 3378 raw := NoMethod(*s) 3379 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3380} 3381 3382func (s *GoogleCloudVisionV1p1beta1Symbol) UnmarshalJSON(data []byte) error { 3383 type NoMethod GoogleCloudVisionV1p1beta1Symbol 3384 var s1 struct { 3385 Confidence gensupport.JSONFloat64 `json:"confidence"` 3386 *NoMethod 3387 } 3388 s1.NoMethod = (*NoMethod)(s) 3389 if err := json.Unmarshal(data, &s1); err != nil { 3390 return err 3391 } 3392 s.Confidence = float64(s1.Confidence) 3393 return nil 3394} 3395 3396// GoogleCloudVisionV1p1beta1TextAnnotation: TextAnnotation contains a 3397// structured representation of OCR extracted text. 3398// The hierarchy of an OCR extracted text structure is like this: 3399// TextAnnotation -> Page -> Block -> Paragraph -> Word -> 3400// Symbol 3401// Each structural component, starting from Page, may further have their 3402// own 3403// properties. Properties describe detected languages, breaks etc.. 3404// Please refer 3405// to the TextAnnotation.TextProperty message definition below for 3406// more 3407// detail. 3408type GoogleCloudVisionV1p1beta1TextAnnotation struct { 3409 // Pages: List of pages detected by OCR. 3410 Pages []*GoogleCloudVisionV1p1beta1Page `json:"pages,omitempty"` 3411 3412 // Text: UTF-8 text detected on the pages. 3413 Text string `json:"text,omitempty"` 3414 3415 // ForceSendFields is a list of field names (e.g. "Pages") to 3416 // unconditionally include in API requests. By default, fields with 3417 // empty values are omitted from API requests. However, any non-pointer, 3418 // non-interface field appearing in ForceSendFields will be sent to the 3419 // server regardless of whether the field is empty or not. This may be 3420 // used to include empty fields in Patch requests. 3421 ForceSendFields []string `json:"-"` 3422 3423 // NullFields is a list of field names (e.g. "Pages") to include in API 3424 // requests with the JSON null value. By default, fields with empty 3425 // values are omitted from API requests. However, any field with an 3426 // empty value appearing in NullFields will be sent to the server as 3427 // null. It is an error if a field in this list has a non-empty value. 3428 // This may be used to include null fields in Patch requests. 3429 NullFields []string `json:"-"` 3430} 3431 3432func (s *GoogleCloudVisionV1p1beta1TextAnnotation) MarshalJSON() ([]byte, error) { 3433 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotation 3434 raw := NoMethod(*s) 3435 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3436} 3437 3438// GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak: Detected start 3439// or end of a structural component. 3440type GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak struct { 3441 // IsPrefix: True if break prepends the element. 3442 IsPrefix bool `json:"isPrefix,omitempty"` 3443 3444 // Type: Detected break type. 3445 // 3446 // Possible values: 3447 // "UNKNOWN" - Unknown break label type. 3448 // "SPACE" - Regular space. 3449 // "SURE_SPACE" - Sure space (very wide). 3450 // "EOL_SURE_SPACE" - Line-wrapping break. 3451 // "HYPHEN" - End-line hyphen that is not present in text; does not 3452 // co-occur with 3453 // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 3454 // "LINE_BREAK" - Line break that ends a paragraph. 3455 Type string `json:"type,omitempty"` 3456 3457 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 3458 // unconditionally include in API requests. By default, fields with 3459 // empty values are omitted from API requests. However, any non-pointer, 3460 // non-interface field appearing in ForceSendFields will be sent to the 3461 // server regardless of whether the field is empty or not. This may be 3462 // used to include empty fields in Patch requests. 3463 ForceSendFields []string `json:"-"` 3464 3465 // NullFields is a list of field names (e.g. "IsPrefix") to include in 3466 // API requests with the JSON null value. By default, fields with empty 3467 // values are omitted from API requests. However, any field with an 3468 // empty value appearing in NullFields will be sent to the server as 3469 // null. It is an error if a field in this list has a non-empty value. 3470 // This may be used to include null fields in Patch requests. 3471 NullFields []string `json:"-"` 3472} 3473 3474func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 3475 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak 3476 raw := NoMethod(*s) 3477 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3478} 3479 3480// GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage: Detected 3481// language for a structural component. 3482type GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage struct { 3483 // Confidence: Confidence of detected language. Range [0, 1]. 3484 Confidence float64 `json:"confidence,omitempty"` 3485 3486 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 3487 // For more 3488 // information, 3489 // see 3490 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 3491 LanguageCode string `json:"languageCode,omitempty"` 3492 3493 // ForceSendFields is a list of field names (e.g. "Confidence") to 3494 // unconditionally include in API requests. By default, fields with 3495 // empty values are omitted from API requests. However, any non-pointer, 3496 // non-interface field appearing in ForceSendFields will be sent to the 3497 // server regardless of whether the field is empty or not. This may be 3498 // used to include empty fields in Patch requests. 3499 ForceSendFields []string `json:"-"` 3500 3501 // NullFields is a list of field names (e.g. "Confidence") to include in 3502 // API requests with the JSON null value. By default, fields with empty 3503 // values are omitted from API requests. However, any field with an 3504 // empty value appearing in NullFields will be sent to the server as 3505 // null. It is an error if a field in this list has a non-empty value. 3506 // This may be used to include null fields in Patch requests. 3507 NullFields []string `json:"-"` 3508} 3509 3510func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 3511 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage 3512 raw := NoMethod(*s) 3513 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3514} 3515 3516func (s *GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 3517 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage 3518 var s1 struct { 3519 Confidence gensupport.JSONFloat64 `json:"confidence"` 3520 *NoMethod 3521 } 3522 s1.NoMethod = (*NoMethod)(s) 3523 if err := json.Unmarshal(data, &s1); err != nil { 3524 return err 3525 } 3526 s.Confidence = float64(s1.Confidence) 3527 return nil 3528} 3529 3530// GoogleCloudVisionV1p1beta1TextAnnotationTextProperty: Additional 3531// information detected on the structural component. 3532type GoogleCloudVisionV1p1beta1TextAnnotationTextProperty struct { 3533 // DetectedBreak: Detected start or end of a text segment. 3534 DetectedBreak *GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 3535 3536 // DetectedLanguages: A list of detected languages together with 3537 // confidence. 3538 DetectedLanguages []*GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 3539 3540 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 3541 // unconditionally include in API requests. By default, fields with 3542 // empty values are omitted from API requests. However, any non-pointer, 3543 // non-interface field appearing in ForceSendFields will be sent to the 3544 // server regardless of whether the field is empty or not. This may be 3545 // used to include empty fields in Patch requests. 3546 ForceSendFields []string `json:"-"` 3547 3548 // NullFields is a list of field names (e.g. "DetectedBreak") to include 3549 // in API requests with the JSON null value. By default, fields with 3550 // empty values are omitted from API requests. However, any field with 3551 // an empty value appearing in NullFields will be sent to the server as 3552 // null. It is an error if a field in this list has a non-empty value. 3553 // This may be used to include null fields in Patch requests. 3554 NullFields []string `json:"-"` 3555} 3556 3557func (s *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 3558 type NoMethod GoogleCloudVisionV1p1beta1TextAnnotationTextProperty 3559 raw := NoMethod(*s) 3560 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3561} 3562 3563// GoogleCloudVisionV1p1beta1Vertex: A vertex represents a 2D point in 3564// the image. 3565// NOTE: the vertex coordinates are in the same scale as the original 3566// image. 3567type GoogleCloudVisionV1p1beta1Vertex struct { 3568 // X: X coordinate. 3569 X int64 `json:"x,omitempty"` 3570 3571 // Y: Y coordinate. 3572 Y int64 `json:"y,omitempty"` 3573 3574 // ForceSendFields is a list of field names (e.g. "X") to 3575 // unconditionally include in API requests. By default, fields with 3576 // empty values are omitted from API requests. However, any non-pointer, 3577 // non-interface field appearing in ForceSendFields will be sent to the 3578 // server regardless of whether the field is empty or not. This may be 3579 // used to include empty fields in Patch requests. 3580 ForceSendFields []string `json:"-"` 3581 3582 // NullFields is a list of field names (e.g. "X") to include in API 3583 // requests with the JSON null value. By default, fields with empty 3584 // values are omitted from API requests. However, any field with an 3585 // empty value appearing in NullFields will be sent to the server as 3586 // null. It is an error if a field in this list has a non-empty value. 3587 // This may be used to include null fields in Patch requests. 3588 NullFields []string `json:"-"` 3589} 3590 3591func (s *GoogleCloudVisionV1p1beta1Vertex) MarshalJSON() ([]byte, error) { 3592 type NoMethod GoogleCloudVisionV1p1beta1Vertex 3593 raw := NoMethod(*s) 3594 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3595} 3596 3597// GoogleCloudVisionV1p1beta1WebDetection: Relevant information for the 3598// image from the Internet. 3599type GoogleCloudVisionV1p1beta1WebDetection struct { 3600 // BestGuessLabels: The service's best guess as to the topic of the 3601 // request image. 3602 // Inferred from similar images on the open web. 3603 BestGuessLabels []*GoogleCloudVisionV1p1beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 3604 3605 // FullMatchingImages: Fully matching images from the Internet. 3606 // Can include resized copies of the query image. 3607 FullMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 3608 3609 // PagesWithMatchingImages: Web pages containing the matching images 3610 // from the Internet. 3611 PagesWithMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 3612 3613 // PartialMatchingImages: Partial matching images from the 3614 // Internet. 3615 // Those images are similar enough to share some key-point features. 3616 // For 3617 // example an original image will likely have partial matching for its 3618 // crops. 3619 PartialMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 3620 3621 // VisuallySimilarImages: The visually similar image results. 3622 VisuallySimilarImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 3623 3624 // WebEntities: Deduced entities from similar images on the Internet. 3625 WebEntities []*GoogleCloudVisionV1p1beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 3626 3627 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 3628 // unconditionally include in API requests. By default, fields with 3629 // empty values are omitted from API requests. However, any non-pointer, 3630 // non-interface field appearing in ForceSendFields will be sent to the 3631 // server regardless of whether the field is empty or not. This may be 3632 // used to include empty fields in Patch requests. 3633 ForceSendFields []string `json:"-"` 3634 3635 // NullFields is a list of field names (e.g. "BestGuessLabels") to 3636 // include in API requests with the JSON null value. By default, fields 3637 // with empty values are omitted from API requests. However, any field 3638 // with an empty value appearing in NullFields will be sent to the 3639 // server as null. It is an error if a field in this list has a 3640 // non-empty value. This may be used to include null fields in Patch 3641 // requests. 3642 NullFields []string `json:"-"` 3643} 3644 3645func (s *GoogleCloudVisionV1p1beta1WebDetection) MarshalJSON() ([]byte, error) { 3646 type NoMethod GoogleCloudVisionV1p1beta1WebDetection 3647 raw := NoMethod(*s) 3648 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3649} 3650 3651// GoogleCloudVisionV1p1beta1WebDetectionWebEntity: Entity deduced from 3652// similar images on the Internet. 3653type GoogleCloudVisionV1p1beta1WebDetectionWebEntity struct { 3654 // Description: Canonical description of the entity, in English. 3655 Description string `json:"description,omitempty"` 3656 3657 // EntityId: Opaque entity ID. 3658 EntityId string `json:"entityId,omitempty"` 3659 3660 // Score: Overall relevancy score for the entity. 3661 // Not normalized and not comparable across different image queries. 3662 Score float64 `json:"score,omitempty"` 3663 3664 // ForceSendFields is a list of field names (e.g. "Description") to 3665 // unconditionally include in API requests. By default, fields with 3666 // empty values are omitted from API requests. However, any non-pointer, 3667 // non-interface field appearing in ForceSendFields will be sent to the 3668 // server regardless of whether the field is empty or not. This may be 3669 // used to include empty fields in Patch requests. 3670 ForceSendFields []string `json:"-"` 3671 3672 // NullFields is a list of field names (e.g. "Description") to include 3673 // in API requests with the JSON null value. By default, fields with 3674 // empty values are omitted from API requests. However, any field with 3675 // an empty value appearing in NullFields will be sent to the server as 3676 // null. It is an error if a field in this list has a non-empty value. 3677 // This may be used to include null fields in Patch requests. 3678 NullFields []string `json:"-"` 3679} 3680 3681func (s *GoogleCloudVisionV1p1beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 3682 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebEntity 3683 raw := NoMethod(*s) 3684 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3685} 3686 3687func (s *GoogleCloudVisionV1p1beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 3688 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebEntity 3689 var s1 struct { 3690 Score gensupport.JSONFloat64 `json:"score"` 3691 *NoMethod 3692 } 3693 s1.NoMethod = (*NoMethod)(s) 3694 if err := json.Unmarshal(data, &s1); err != nil { 3695 return err 3696 } 3697 s.Score = float64(s1.Score) 3698 return nil 3699} 3700 3701// GoogleCloudVisionV1p1beta1WebDetectionWebImage: Metadata for online 3702// images. 3703type GoogleCloudVisionV1p1beta1WebDetectionWebImage struct { 3704 // Score: (Deprecated) Overall relevancy score for the image. 3705 Score float64 `json:"score,omitempty"` 3706 3707 // Url: The result image URL. 3708 Url string `json:"url,omitempty"` 3709 3710 // ForceSendFields is a list of field names (e.g. "Score") to 3711 // unconditionally include in API requests. By default, fields with 3712 // empty values are omitted from API requests. However, any non-pointer, 3713 // non-interface field appearing in ForceSendFields will be sent to the 3714 // server regardless of whether the field is empty or not. This may be 3715 // used to include empty fields in Patch requests. 3716 ForceSendFields []string `json:"-"` 3717 3718 // NullFields is a list of field names (e.g. "Score") to include in API 3719 // requests with the JSON null value. By default, fields with empty 3720 // values are omitted from API requests. However, any field with an 3721 // empty value appearing in NullFields will be sent to the server as 3722 // null. It is an error if a field in this list has a non-empty value. 3723 // This may be used to include null fields in Patch requests. 3724 NullFields []string `json:"-"` 3725} 3726 3727func (s *GoogleCloudVisionV1p1beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 3728 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebImage 3729 raw := NoMethod(*s) 3730 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3731} 3732 3733func (s *GoogleCloudVisionV1p1beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 3734 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebImage 3735 var s1 struct { 3736 Score gensupport.JSONFloat64 `json:"score"` 3737 *NoMethod 3738 } 3739 s1.NoMethod = (*NoMethod)(s) 3740 if err := json.Unmarshal(data, &s1); err != nil { 3741 return err 3742 } 3743 s.Score = float64(s1.Score) 3744 return nil 3745} 3746 3747// GoogleCloudVisionV1p1beta1WebDetectionWebLabel: Label to provide 3748// extra metadata for the web detection. 3749type GoogleCloudVisionV1p1beta1WebDetectionWebLabel struct { 3750 // Label: Label for extra metadata. 3751 Label string `json:"label,omitempty"` 3752 3753 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 3754 // or "sr-Latn". 3755 // For more information, 3756 // see 3757 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 3758 LanguageCode string `json:"languageCode,omitempty"` 3759 3760 // ForceSendFields is a list of field names (e.g. "Label") to 3761 // unconditionally include in API requests. By default, fields with 3762 // empty values are omitted from API requests. However, any non-pointer, 3763 // non-interface field appearing in ForceSendFields will be sent to the 3764 // server regardless of whether the field is empty or not. This may be 3765 // used to include empty fields in Patch requests. 3766 ForceSendFields []string `json:"-"` 3767 3768 // NullFields is a list of field names (e.g. "Label") to include in API 3769 // requests with the JSON null value. By default, fields with empty 3770 // values are omitted from API requests. However, any field with an 3771 // empty value appearing in NullFields will be sent to the server as 3772 // null. It is an error if a field in this list has a non-empty value. 3773 // This may be used to include null fields in Patch requests. 3774 NullFields []string `json:"-"` 3775} 3776 3777func (s *GoogleCloudVisionV1p1beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 3778 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebLabel 3779 raw := NoMethod(*s) 3780 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3781} 3782 3783// GoogleCloudVisionV1p1beta1WebDetectionWebPage: Metadata for web 3784// pages. 3785type GoogleCloudVisionV1p1beta1WebDetectionWebPage struct { 3786 // FullMatchingImages: Fully matching images on the page. 3787 // Can include resized copies of the query image. 3788 FullMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 3789 3790 // PageTitle: Title for the web page, may contain HTML markups. 3791 PageTitle string `json:"pageTitle,omitempty"` 3792 3793 // PartialMatchingImages: Partial matching images on the page. 3794 // Those images are similar enough to share some key-point features. 3795 // For 3796 // example an original image will likely have partial matching for 3797 // its 3798 // crops. 3799 PartialMatchingImages []*GoogleCloudVisionV1p1beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 3800 3801 // Score: (Deprecated) Overall relevancy score for the web page. 3802 Score float64 `json:"score,omitempty"` 3803 3804 // Url: The result web page URL. 3805 Url string `json:"url,omitempty"` 3806 3807 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 3808 // to unconditionally include in API requests. By default, fields with 3809 // empty values are omitted from API requests. However, any non-pointer, 3810 // non-interface field appearing in ForceSendFields will be sent to the 3811 // server regardless of whether the field is empty or not. This may be 3812 // used to include empty fields in Patch requests. 3813 ForceSendFields []string `json:"-"` 3814 3815 // NullFields is a list of field names (e.g. "FullMatchingImages") to 3816 // include in API requests with the JSON null value. By default, fields 3817 // with empty values are omitted from API requests. However, any field 3818 // with an empty value appearing in NullFields will be sent to the 3819 // server as null. It is an error if a field in this list has a 3820 // non-empty value. This may be used to include null fields in Patch 3821 // requests. 3822 NullFields []string `json:"-"` 3823} 3824 3825func (s *GoogleCloudVisionV1p1beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 3826 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebPage 3827 raw := NoMethod(*s) 3828 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3829} 3830 3831func (s *GoogleCloudVisionV1p1beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 3832 type NoMethod GoogleCloudVisionV1p1beta1WebDetectionWebPage 3833 var s1 struct { 3834 Score gensupport.JSONFloat64 `json:"score"` 3835 *NoMethod 3836 } 3837 s1.NoMethod = (*NoMethod)(s) 3838 if err := json.Unmarshal(data, &s1); err != nil { 3839 return err 3840 } 3841 s.Score = float64(s1.Score) 3842 return nil 3843} 3844 3845// GoogleCloudVisionV1p1beta1Word: A word representation. 3846type GoogleCloudVisionV1p1beta1Word struct { 3847 // BoundingBox: The bounding box for the word. 3848 // The vertices are in the order of top-left, top-right, 3849 // bottom-right, 3850 // bottom-left. When a rotation of the bounding box is detected the 3851 // rotation 3852 // is represented as around the top-left corner as defined when the text 3853 // is 3854 // read in the 'natural' orientation. 3855 // For example: 3856 // * when the text is horizontal it might look like: 3857 // 0----1 3858 // | | 3859 // 3----2 3860 // * when it's rotated 180 degrees around the top-left corner it 3861 // becomes: 3862 // 2----3 3863 // | | 3864 // 1----0 3865 // and the vertex order will still be (0, 1, 2, 3). 3866 BoundingBox *GoogleCloudVisionV1p1beta1BoundingPoly `json:"boundingBox,omitempty"` 3867 3868 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 3869 Confidence float64 `json:"confidence,omitempty"` 3870 3871 // Property: Additional information detected for the word. 3872 Property *GoogleCloudVisionV1p1beta1TextAnnotationTextProperty `json:"property,omitempty"` 3873 3874 // Symbols: List of symbols in the word. 3875 // The order of the symbols follows the natural reading order. 3876 Symbols []*GoogleCloudVisionV1p1beta1Symbol `json:"symbols,omitempty"` 3877 3878 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 3879 // unconditionally include in API requests. By default, fields with 3880 // empty values are omitted from API requests. However, any non-pointer, 3881 // non-interface field appearing in ForceSendFields will be sent to the 3882 // server regardless of whether the field is empty or not. This may be 3883 // used to include empty fields in Patch requests. 3884 ForceSendFields []string `json:"-"` 3885 3886 // NullFields is a list of field names (e.g. "BoundingBox") to include 3887 // in API requests with the JSON null value. By default, fields with 3888 // empty values are omitted from API requests. However, any field with 3889 // an empty value appearing in NullFields will be sent to the server as 3890 // null. It is an error if a field in this list has a non-empty value. 3891 // This may be used to include null fields in Patch requests. 3892 NullFields []string `json:"-"` 3893} 3894 3895func (s *GoogleCloudVisionV1p1beta1Word) MarshalJSON() ([]byte, error) { 3896 type NoMethod GoogleCloudVisionV1p1beta1Word 3897 raw := NoMethod(*s) 3898 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3899} 3900 3901func (s *GoogleCloudVisionV1p1beta1Word) UnmarshalJSON(data []byte) error { 3902 type NoMethod GoogleCloudVisionV1p1beta1Word 3903 var s1 struct { 3904 Confidence gensupport.JSONFloat64 `json:"confidence"` 3905 *NoMethod 3906 } 3907 s1.NoMethod = (*NoMethod)(s) 3908 if err := json.Unmarshal(data, &s1); err != nil { 3909 return err 3910 } 3911 s.Confidence = float64(s1.Confidence) 3912 return nil 3913} 3914 3915// GoogleCloudVisionV1p2beta1AnnotateFileRequest: A request to annotate 3916// one single file, e.g. a PDF, TIFF or GIF file. 3917type GoogleCloudVisionV1p2beta1AnnotateFileRequest struct { 3918 // Features: Required. Requested features. 3919 Features []*GoogleCloudVisionV1p2beta1Feature `json:"features,omitempty"` 3920 3921 // ImageContext: Additional context that may accompany the image(s) in 3922 // the file. 3923 ImageContext *GoogleCloudVisionV1p2beta1ImageContext `json:"imageContext,omitempty"` 3924 3925 // InputConfig: Required. Information about the input file. 3926 InputConfig *GoogleCloudVisionV1p2beta1InputConfig `json:"inputConfig,omitempty"` 3927 3928 // Pages: Pages of the file to perform image annotation. 3929 // 3930 // Pages starts from 1, we assume the first page of the file is page 3931 // 1. 3932 // At most 5 pages are supported per request. Pages can be 3933 // negative. 3934 // 3935 // Page 1 means the first page. 3936 // Page 2 means the second page. 3937 // Page -1 means the last page. 3938 // Page -2 means the second to the last page. 3939 // 3940 // If the file is GIF instead of PDF or TIFF, page refers to GIF 3941 // frames. 3942 // 3943 // If this field is empty, by default the service performs image 3944 // annotation 3945 // for the first 5 pages of the file. 3946 Pages []int64 `json:"pages,omitempty"` 3947 3948 // ForceSendFields is a list of field names (e.g. "Features") to 3949 // unconditionally include in API requests. By default, fields with 3950 // empty values are omitted from API requests. However, any non-pointer, 3951 // non-interface field appearing in ForceSendFields will be sent to the 3952 // server regardless of whether the field is empty or not. This may be 3953 // used to include empty fields in Patch requests. 3954 ForceSendFields []string `json:"-"` 3955 3956 // NullFields is a list of field names (e.g. "Features") to include in 3957 // API requests with the JSON null value. By default, fields with empty 3958 // values are omitted from API requests. However, any field with an 3959 // empty value appearing in NullFields will be sent to the server as 3960 // null. It is an error if a field in this list has a non-empty value. 3961 // This may be used to include null fields in Patch requests. 3962 NullFields []string `json:"-"` 3963} 3964 3965func (s *GoogleCloudVisionV1p2beta1AnnotateFileRequest) MarshalJSON() ([]byte, error) { 3966 type NoMethod GoogleCloudVisionV1p2beta1AnnotateFileRequest 3967 raw := NoMethod(*s) 3968 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 3969} 3970 3971// GoogleCloudVisionV1p2beta1AnnotateFileResponse: Response to a single 3972// file annotation request. A file may contain one or more 3973// images, which individually have their own responses. 3974type GoogleCloudVisionV1p2beta1AnnotateFileResponse struct { 3975 // InputConfig: Information about the file for which this response is 3976 // generated. 3977 InputConfig *GoogleCloudVisionV1p2beta1InputConfig `json:"inputConfig,omitempty"` 3978 3979 // Responses: Individual responses to images found within the file. 3980 Responses []*GoogleCloudVisionV1p2beta1AnnotateImageResponse `json:"responses,omitempty"` 3981 3982 // TotalPages: This field gives the total number of pages in the file. 3983 TotalPages int64 `json:"totalPages,omitempty"` 3984 3985 // ForceSendFields is a list of field names (e.g. "InputConfig") to 3986 // unconditionally include in API requests. By default, fields with 3987 // empty values are omitted from API requests. However, any non-pointer, 3988 // non-interface field appearing in ForceSendFields will be sent to the 3989 // server regardless of whether the field is empty or not. This may be 3990 // used to include empty fields in Patch requests. 3991 ForceSendFields []string `json:"-"` 3992 3993 // NullFields is a list of field names (e.g. "InputConfig") to include 3994 // in API requests with the JSON null value. By default, fields with 3995 // empty values are omitted from API requests. However, any field with 3996 // an empty value appearing in NullFields will be sent to the server as 3997 // null. It is an error if a field in this list has a non-empty value. 3998 // This may be used to include null fields in Patch requests. 3999 NullFields []string `json:"-"` 4000} 4001 4002func (s *GoogleCloudVisionV1p2beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 4003 type NoMethod GoogleCloudVisionV1p2beta1AnnotateFileResponse 4004 raw := NoMethod(*s) 4005 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4006} 4007 4008// GoogleCloudVisionV1p2beta1AnnotateImageRequest: Request for 4009// performing Google Cloud Vision API tasks over a user-provided 4010// image, with user-requested features, and with context information. 4011type GoogleCloudVisionV1p2beta1AnnotateImageRequest struct { 4012 // Features: Requested features. 4013 Features []*GoogleCloudVisionV1p2beta1Feature `json:"features,omitempty"` 4014 4015 // Image: The image to be processed. 4016 Image *GoogleCloudVisionV1p2beta1Image `json:"image,omitempty"` 4017 4018 // ImageContext: Additional context that may accompany the image. 4019 ImageContext *GoogleCloudVisionV1p2beta1ImageContext `json:"imageContext,omitempty"` 4020 4021 // ForceSendFields is a list of field names (e.g. "Features") to 4022 // unconditionally include in API requests. By default, fields with 4023 // empty values are omitted from API requests. However, any non-pointer, 4024 // non-interface field appearing in ForceSendFields will be sent to the 4025 // server regardless of whether the field is empty or not. This may be 4026 // used to include empty fields in Patch requests. 4027 ForceSendFields []string `json:"-"` 4028 4029 // NullFields is a list of field names (e.g. "Features") to include in 4030 // API requests with the JSON null value. By default, fields with empty 4031 // values are omitted from API requests. However, any field with an 4032 // empty value appearing in NullFields will be sent to the server as 4033 // null. It is an error if a field in this list has a non-empty value. 4034 // This may be used to include null fields in Patch requests. 4035 NullFields []string `json:"-"` 4036} 4037 4038func (s *GoogleCloudVisionV1p2beta1AnnotateImageRequest) MarshalJSON() ([]byte, error) { 4039 type NoMethod GoogleCloudVisionV1p2beta1AnnotateImageRequest 4040 raw := NoMethod(*s) 4041 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4042} 4043 4044// GoogleCloudVisionV1p2beta1AnnotateImageResponse: Response to an image 4045// annotation request. 4046type GoogleCloudVisionV1p2beta1AnnotateImageResponse struct { 4047 // Context: If present, contextual information is needed to understand 4048 // where this image 4049 // comes from. 4050 Context *GoogleCloudVisionV1p2beta1ImageAnnotationContext `json:"context,omitempty"` 4051 4052 // CropHintsAnnotation: If present, crop hints have completed 4053 // successfully. 4054 CropHintsAnnotation *GoogleCloudVisionV1p2beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 4055 4056 // Error: If set, represents the error message for the operation. 4057 // Note that filled-in image annotations are guaranteed to be 4058 // correct, even when `error` is set. 4059 Error *Status `json:"error,omitempty"` 4060 4061 // FaceAnnotations: If present, face detection has completed 4062 // successfully. 4063 FaceAnnotations []*GoogleCloudVisionV1p2beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 4064 4065 // FullTextAnnotation: If present, text (OCR) detection or document 4066 // (OCR) text detection has 4067 // completed successfully. 4068 // This annotation provides the structural hierarchy for the OCR 4069 // detected 4070 // text. 4071 FullTextAnnotation *GoogleCloudVisionV1p2beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 4072 4073 // ImagePropertiesAnnotation: If present, image properties were 4074 // extracted successfully. 4075 ImagePropertiesAnnotation *GoogleCloudVisionV1p2beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 4076 4077 // LabelAnnotations: If present, label detection has completed 4078 // successfully. 4079 LabelAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 4080 4081 // LandmarkAnnotations: If present, landmark detection has completed 4082 // successfully. 4083 LandmarkAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 4084 4085 // LocalizedObjectAnnotations: If present, localized object detection 4086 // has completed successfully. 4087 // This will be sorted descending by confidence score. 4088 LocalizedObjectAnnotations []*GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 4089 4090 // LogoAnnotations: If present, logo detection has completed 4091 // successfully. 4092 LogoAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 4093 4094 // ProductSearchResults: If present, product search has completed 4095 // successfully. 4096 ProductSearchResults *GoogleCloudVisionV1p2beta1ProductSearchResults `json:"productSearchResults,omitempty"` 4097 4098 // SafeSearchAnnotation: If present, safe-search annotation has 4099 // completed successfully. 4100 SafeSearchAnnotation *GoogleCloudVisionV1p2beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 4101 4102 // TextAnnotations: If present, text (OCR) detection has completed 4103 // successfully. 4104 TextAnnotations []*GoogleCloudVisionV1p2beta1EntityAnnotation `json:"textAnnotations,omitempty"` 4105 4106 // WebDetection: If present, web detection has completed successfully. 4107 WebDetection *GoogleCloudVisionV1p2beta1WebDetection `json:"webDetection,omitempty"` 4108 4109 // ForceSendFields is a list of field names (e.g. "Context") to 4110 // unconditionally include in API requests. By default, fields with 4111 // empty values are omitted from API requests. However, any non-pointer, 4112 // non-interface field appearing in ForceSendFields will be sent to the 4113 // server regardless of whether the field is empty or not. This may be 4114 // used to include empty fields in Patch requests. 4115 ForceSendFields []string `json:"-"` 4116 4117 // NullFields is a list of field names (e.g. "Context") to include in 4118 // API requests with the JSON null value. By default, fields with empty 4119 // values are omitted from API requests. However, any field with an 4120 // empty value appearing in NullFields will be sent to the server as 4121 // null. It is an error if a field in this list has a non-empty value. 4122 // This may be used to include null fields in Patch requests. 4123 NullFields []string `json:"-"` 4124} 4125 4126func (s *GoogleCloudVisionV1p2beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 4127 type NoMethod GoogleCloudVisionV1p2beta1AnnotateImageResponse 4128 raw := NoMethod(*s) 4129 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4130} 4131 4132// GoogleCloudVisionV1p2beta1AsyncAnnotateFileRequest: An offline file 4133// annotation request. 4134type GoogleCloudVisionV1p2beta1AsyncAnnotateFileRequest struct { 4135 // Features: Required. Requested features. 4136 Features []*GoogleCloudVisionV1p2beta1Feature `json:"features,omitempty"` 4137 4138 // ImageContext: Additional context that may accompany the image(s) in 4139 // the file. 4140 ImageContext *GoogleCloudVisionV1p2beta1ImageContext `json:"imageContext,omitempty"` 4141 4142 // InputConfig: Required. Information about the input file. 4143 InputConfig *GoogleCloudVisionV1p2beta1InputConfig `json:"inputConfig,omitempty"` 4144 4145 // OutputConfig: Required. The desired output location and metadata 4146 // (e.g. format). 4147 OutputConfig *GoogleCloudVisionV1p2beta1OutputConfig `json:"outputConfig,omitempty"` 4148 4149 // ForceSendFields is a list of field names (e.g. "Features") to 4150 // unconditionally include in API requests. By default, fields with 4151 // empty values are omitted from API requests. However, any non-pointer, 4152 // non-interface field appearing in ForceSendFields will be sent to the 4153 // server regardless of whether the field is empty or not. This may be 4154 // used to include empty fields in Patch requests. 4155 ForceSendFields []string `json:"-"` 4156 4157 // NullFields is a list of field names (e.g. "Features") to include in 4158 // API requests with the JSON null value. By default, fields with empty 4159 // values are omitted from API requests. However, any field with an 4160 // empty value appearing in NullFields will be sent to the server as 4161 // null. It is an error if a field in this list has a non-empty value. 4162 // This may be used to include null fields in Patch requests. 4163 NullFields []string `json:"-"` 4164} 4165 4166func (s *GoogleCloudVisionV1p2beta1AsyncAnnotateFileRequest) MarshalJSON() ([]byte, error) { 4167 type NoMethod GoogleCloudVisionV1p2beta1AsyncAnnotateFileRequest 4168 raw := NoMethod(*s) 4169 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4170} 4171 4172// GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse: The response for 4173// a single offline file annotation request. 4174type GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse struct { 4175 // OutputConfig: The output location and metadata from 4176 // AsyncAnnotateFileRequest. 4177 OutputConfig *GoogleCloudVisionV1p2beta1OutputConfig `json:"outputConfig,omitempty"` 4178 4179 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 4180 // unconditionally include in API requests. By default, fields with 4181 // empty values are omitted from API requests. However, any non-pointer, 4182 // non-interface field appearing in ForceSendFields will be sent to the 4183 // server regardless of whether the field is empty or not. This may be 4184 // used to include empty fields in Patch requests. 4185 ForceSendFields []string `json:"-"` 4186 4187 // NullFields is a list of field names (e.g. "OutputConfig") to include 4188 // in API requests with the JSON null value. By default, fields with 4189 // empty values are omitted from API requests. However, any field with 4190 // an empty value appearing in NullFields will be sent to the server as 4191 // null. It is an error if a field in this list has a non-empty value. 4192 // This may be used to include null fields in Patch requests. 4193 NullFields []string `json:"-"` 4194} 4195 4196func (s *GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 4197 type NoMethod GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse 4198 raw := NoMethod(*s) 4199 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4200} 4201 4202// GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest: Multiple 4203// async file annotation requests are batched into a single 4204// service 4205// call. 4206type GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest struct { 4207 // Requests: Individual async file annotation requests for this batch. 4208 Requests []*GoogleCloudVisionV1p2beta1AsyncAnnotateFileRequest `json:"requests,omitempty"` 4209 4210 // ForceSendFields is a list of field names (e.g. "Requests") to 4211 // unconditionally include in API requests. By default, fields with 4212 // empty values are omitted from API requests. However, any non-pointer, 4213 // non-interface field appearing in ForceSendFields will be sent to the 4214 // server regardless of whether the field is empty or not. This may be 4215 // used to include empty fields in Patch requests. 4216 ForceSendFields []string `json:"-"` 4217 4218 // NullFields is a list of field names (e.g. "Requests") to include in 4219 // API requests with the JSON null value. By default, fields with empty 4220 // values are omitted from API requests. However, any field with an 4221 // empty value appearing in NullFields will be sent to the server as 4222 // null. It is an error if a field in this list has a non-empty value. 4223 // This may be used to include null fields in Patch requests. 4224 NullFields []string `json:"-"` 4225} 4226 4227func (s *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest) MarshalJSON() ([]byte, error) { 4228 type NoMethod GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest 4229 raw := NoMethod(*s) 4230 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4231} 4232 4233// GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse: Response 4234// to an async batch file annotation request. 4235type GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse struct { 4236 // Responses: The list of file annotation responses, one for each 4237 // request in 4238 // AsyncBatchAnnotateFilesRequest. 4239 Responses []*GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 4240 4241 // ForceSendFields is a list of field names (e.g. "Responses") to 4242 // unconditionally include in API requests. By default, fields with 4243 // empty values are omitted from API requests. However, any non-pointer, 4244 // non-interface field appearing in ForceSendFields will be sent to the 4245 // server regardless of whether the field is empty or not. This may be 4246 // used to include empty fields in Patch requests. 4247 ForceSendFields []string `json:"-"` 4248 4249 // NullFields is a list of field names (e.g. "Responses") to include in 4250 // API requests with the JSON null value. By default, fields with empty 4251 // values are omitted from API requests. However, any field with an 4252 // empty value appearing in NullFields will be sent to the server as 4253 // null. It is an error if a field in this list has a non-empty value. 4254 // This may be used to include null fields in Patch requests. 4255 NullFields []string `json:"-"` 4256} 4257 4258func (s *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 4259 type NoMethod GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse 4260 raw := NoMethod(*s) 4261 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4262} 4263 4264// GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest: Request 4265// for async image annotation for a list of images. 4266type GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest struct { 4267 // OutputConfig: Required. The desired output location and metadata 4268 // (e.g. format). 4269 OutputConfig *GoogleCloudVisionV1p2beta1OutputConfig `json:"outputConfig,omitempty"` 4270 4271 // Requests: Individual image annotation requests for this batch. 4272 Requests []*GoogleCloudVisionV1p2beta1AnnotateImageRequest `json:"requests,omitempty"` 4273 4274 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 4275 // unconditionally include in API requests. By default, fields with 4276 // empty values are omitted from API requests. However, any non-pointer, 4277 // non-interface field appearing in ForceSendFields will be sent to the 4278 // server regardless of whether the field is empty or not. This may be 4279 // used to include empty fields in Patch requests. 4280 ForceSendFields []string `json:"-"` 4281 4282 // NullFields is a list of field names (e.g. "OutputConfig") to include 4283 // in API requests with the JSON null value. By default, fields with 4284 // empty values are omitted from API requests. However, any field with 4285 // an empty value appearing in NullFields will be sent to the server as 4286 // null. It is an error if a field in this list has a non-empty value. 4287 // This may be used to include null fields in Patch requests. 4288 NullFields []string `json:"-"` 4289} 4290 4291func (s *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest) MarshalJSON() ([]byte, error) { 4292 type NoMethod GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest 4293 raw := NoMethod(*s) 4294 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4295} 4296 4297// GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest: A list of 4298// requests to annotate files using the BatchAnnotateFiles API. 4299type GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest struct { 4300 // Requests: The list of file annotation requests. Right now we support 4301 // only one 4302 // AnnotateFileRequest in BatchAnnotateFilesRequest. 4303 Requests []*GoogleCloudVisionV1p2beta1AnnotateFileRequest `json:"requests,omitempty"` 4304 4305 // ForceSendFields is a list of field names (e.g. "Requests") to 4306 // unconditionally include in API requests. By default, fields with 4307 // empty values are omitted from API requests. However, any non-pointer, 4308 // non-interface field appearing in ForceSendFields will be sent to the 4309 // server regardless of whether the field is empty or not. This may be 4310 // used to include empty fields in Patch requests. 4311 ForceSendFields []string `json:"-"` 4312 4313 // NullFields is a list of field names (e.g. "Requests") to include in 4314 // API requests with the JSON null value. By default, fields with empty 4315 // values are omitted from API requests. However, any field with an 4316 // empty value appearing in NullFields will be sent to the server as 4317 // null. It is an error if a field in this list has a non-empty value. 4318 // This may be used to include null fields in Patch requests. 4319 NullFields []string `json:"-"` 4320} 4321 4322func (s *GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest) MarshalJSON() ([]byte, error) { 4323 type NoMethod GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest 4324 raw := NoMethod(*s) 4325 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4326} 4327 4328// GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse: A list of file 4329// annotation responses. 4330type GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse struct { 4331 // Responses: The list of file annotation responses, each response 4332 // corresponding to each 4333 // AnnotateFileRequest in BatchAnnotateFilesRequest. 4334 Responses []*GoogleCloudVisionV1p2beta1AnnotateFileResponse `json:"responses,omitempty"` 4335 4336 // ServerResponse contains the HTTP response code and headers from the 4337 // server. 4338 googleapi.ServerResponse `json:"-"` 4339 4340 // ForceSendFields is a list of field names (e.g. "Responses") to 4341 // unconditionally include in API requests. By default, fields with 4342 // empty values are omitted from API requests. However, any non-pointer, 4343 // non-interface field appearing in ForceSendFields will be sent to the 4344 // server regardless of whether the field is empty or not. This may be 4345 // used to include empty fields in Patch requests. 4346 ForceSendFields []string `json:"-"` 4347 4348 // NullFields is a list of field names (e.g. "Responses") to include in 4349 // API requests with the JSON null value. By default, fields with empty 4350 // values are omitted from API requests. However, any field with an 4351 // empty value appearing in NullFields will be sent to the server as 4352 // null. It is an error if a field in this list has a non-empty value. 4353 // This may be used to include null fields in Patch requests. 4354 NullFields []string `json:"-"` 4355} 4356 4357func (s *GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 4358 type NoMethod GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse 4359 raw := NoMethod(*s) 4360 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4361} 4362 4363// GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest: Multiple image 4364// annotation requests are batched into a single service call. 4365type GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest struct { 4366 // Requests: Individual image annotation requests for this batch. 4367 Requests []*GoogleCloudVisionV1p2beta1AnnotateImageRequest `json:"requests,omitempty"` 4368 4369 // ForceSendFields is a list of field names (e.g. "Requests") to 4370 // unconditionally include in API requests. By default, fields with 4371 // empty values are omitted from API requests. However, any non-pointer, 4372 // non-interface field appearing in ForceSendFields will be sent to the 4373 // server regardless of whether the field is empty or not. This may be 4374 // used to include empty fields in Patch requests. 4375 ForceSendFields []string `json:"-"` 4376 4377 // NullFields is a list of field names (e.g. "Requests") to include in 4378 // API requests with the JSON null value. By default, fields with empty 4379 // values are omitted from API requests. However, any field with an 4380 // empty value appearing in NullFields will be sent to the server as 4381 // null. It is an error if a field in this list has a non-empty value. 4382 // This may be used to include null fields in Patch requests. 4383 NullFields []string `json:"-"` 4384} 4385 4386func (s *GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest) MarshalJSON() ([]byte, error) { 4387 type NoMethod GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest 4388 raw := NoMethod(*s) 4389 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4390} 4391 4392// GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse: Response to a 4393// batch image annotation request. 4394type GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse struct { 4395 // Responses: Individual responses to image annotation requests within 4396 // the batch. 4397 Responses []*GoogleCloudVisionV1p2beta1AnnotateImageResponse `json:"responses,omitempty"` 4398 4399 // ServerResponse contains the HTTP response code and headers from the 4400 // server. 4401 googleapi.ServerResponse `json:"-"` 4402 4403 // ForceSendFields is a list of field names (e.g. "Responses") to 4404 // unconditionally include in API requests. By default, fields with 4405 // empty values are omitted from API requests. However, any non-pointer, 4406 // non-interface field appearing in ForceSendFields will be sent to the 4407 // server regardless of whether the field is empty or not. This may be 4408 // used to include empty fields in Patch requests. 4409 ForceSendFields []string `json:"-"` 4410 4411 // NullFields is a list of field names (e.g. "Responses") to include in 4412 // API requests with the JSON null value. By default, fields with empty 4413 // values are omitted from API requests. However, any field with an 4414 // empty value appearing in NullFields will be sent to the server as 4415 // null. It is an error if a field in this list has a non-empty value. 4416 // This may be used to include null fields in Patch requests. 4417 NullFields []string `json:"-"` 4418} 4419 4420func (s *GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 4421 type NoMethod GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse 4422 raw := NoMethod(*s) 4423 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4424} 4425 4426// GoogleCloudVisionV1p2beta1Block: Logical element on the page. 4427type GoogleCloudVisionV1p2beta1Block struct { 4428 // BlockType: Detected block type (text, image etc) for this block. 4429 // 4430 // Possible values: 4431 // "UNKNOWN" - Unknown block type. 4432 // "TEXT" - Regular text block. 4433 // "TABLE" - Table block. 4434 // "PICTURE" - Image block. 4435 // "RULER" - Horizontal/vertical line box. 4436 // "BARCODE" - Barcode block. 4437 BlockType string `json:"blockType,omitempty"` 4438 4439 // BoundingBox: The bounding box for the block. 4440 // The vertices are in the order of top-left, top-right, 4441 // bottom-right, 4442 // bottom-left. When a rotation of the bounding box is detected the 4443 // rotation 4444 // is represented as around the top-left corner as defined when the text 4445 // is 4446 // read in the 'natural' orientation. 4447 // For example: 4448 // 4449 // * when the text is horizontal it might look like: 4450 // 4451 // 0----1 4452 // | | 4453 // 3----2 4454 // 4455 // * when it's rotated 180 degrees around the top-left corner it 4456 // becomes: 4457 // 4458 // 2----3 4459 // | | 4460 // 1----0 4461 // 4462 // and the vertex order will still be (0, 1, 2, 3). 4463 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 4464 4465 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 4466 Confidence float64 `json:"confidence,omitempty"` 4467 4468 // Paragraphs: List of paragraphs in this block (if this blocks is of 4469 // type text). 4470 Paragraphs []*GoogleCloudVisionV1p2beta1Paragraph `json:"paragraphs,omitempty"` 4471 4472 // Property: Additional information detected for the block. 4473 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 4474 4475 // ForceSendFields is a list of field names (e.g. "BlockType") to 4476 // unconditionally include in API requests. By default, fields with 4477 // empty values are omitted from API requests. However, any non-pointer, 4478 // non-interface field appearing in ForceSendFields will be sent to the 4479 // server regardless of whether the field is empty or not. This may be 4480 // used to include empty fields in Patch requests. 4481 ForceSendFields []string `json:"-"` 4482 4483 // NullFields is a list of field names (e.g. "BlockType") to include in 4484 // API requests with the JSON null value. By default, fields with empty 4485 // values are omitted from API requests. However, any field with an 4486 // empty value appearing in NullFields will be sent to the server as 4487 // null. It is an error if a field in this list has a non-empty value. 4488 // This may be used to include null fields in Patch requests. 4489 NullFields []string `json:"-"` 4490} 4491 4492func (s *GoogleCloudVisionV1p2beta1Block) MarshalJSON() ([]byte, error) { 4493 type NoMethod GoogleCloudVisionV1p2beta1Block 4494 raw := NoMethod(*s) 4495 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4496} 4497 4498func (s *GoogleCloudVisionV1p2beta1Block) UnmarshalJSON(data []byte) error { 4499 type NoMethod GoogleCloudVisionV1p2beta1Block 4500 var s1 struct { 4501 Confidence gensupport.JSONFloat64 `json:"confidence"` 4502 *NoMethod 4503 } 4504 s1.NoMethod = (*NoMethod)(s) 4505 if err := json.Unmarshal(data, &s1); err != nil { 4506 return err 4507 } 4508 s.Confidence = float64(s1.Confidence) 4509 return nil 4510} 4511 4512// GoogleCloudVisionV1p2beta1BoundingPoly: A bounding polygon for the 4513// detected image annotation. 4514type GoogleCloudVisionV1p2beta1BoundingPoly struct { 4515 // NormalizedVertices: The bounding polygon normalized vertices. 4516 NormalizedVertices []*GoogleCloudVisionV1p2beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 4517 4518 // Vertices: The bounding polygon vertices. 4519 Vertices []*GoogleCloudVisionV1p2beta1Vertex `json:"vertices,omitempty"` 4520 4521 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 4522 // to unconditionally include in API requests. By default, fields with 4523 // empty values are omitted from API requests. However, any non-pointer, 4524 // non-interface field appearing in ForceSendFields will be sent to the 4525 // server regardless of whether the field is empty or not. This may be 4526 // used to include empty fields in Patch requests. 4527 ForceSendFields []string `json:"-"` 4528 4529 // NullFields is a list of field names (e.g. "NormalizedVertices") to 4530 // include in API requests with the JSON null value. By default, fields 4531 // with empty values are omitted from API requests. However, any field 4532 // with an empty value appearing in NullFields will be sent to the 4533 // server as null. It is an error if a field in this list has a 4534 // non-empty value. This may be used to include null fields in Patch 4535 // requests. 4536 NullFields []string `json:"-"` 4537} 4538 4539func (s *GoogleCloudVisionV1p2beta1BoundingPoly) MarshalJSON() ([]byte, error) { 4540 type NoMethod GoogleCloudVisionV1p2beta1BoundingPoly 4541 raw := NoMethod(*s) 4542 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4543} 4544 4545// GoogleCloudVisionV1p2beta1ColorInfo: Color information consists of 4546// RGB channels, score, and the fraction of 4547// the image that the color occupies in the image. 4548type GoogleCloudVisionV1p2beta1ColorInfo struct { 4549 // Color: RGB components of the color. 4550 Color *Color `json:"color,omitempty"` 4551 4552 // PixelFraction: The fraction of pixels the color occupies in the 4553 // image. 4554 // Value in range [0, 1]. 4555 PixelFraction float64 `json:"pixelFraction,omitempty"` 4556 4557 // Score: Image-specific score for this color. Value in range [0, 1]. 4558 Score float64 `json:"score,omitempty"` 4559 4560 // ForceSendFields is a list of field names (e.g. "Color") to 4561 // unconditionally include in API requests. By default, fields with 4562 // empty values are omitted from API requests. However, any non-pointer, 4563 // non-interface field appearing in ForceSendFields will be sent to the 4564 // server regardless of whether the field is empty or not. This may be 4565 // used to include empty fields in Patch requests. 4566 ForceSendFields []string `json:"-"` 4567 4568 // NullFields is a list of field names (e.g. "Color") to include in API 4569 // requests with the JSON null value. By default, fields with empty 4570 // values are omitted from API requests. However, any field with an 4571 // empty value appearing in NullFields will be sent to the server as 4572 // null. It is an error if a field in this list has a non-empty value. 4573 // This may be used to include null fields in Patch requests. 4574 NullFields []string `json:"-"` 4575} 4576 4577func (s *GoogleCloudVisionV1p2beta1ColorInfo) MarshalJSON() ([]byte, error) { 4578 type NoMethod GoogleCloudVisionV1p2beta1ColorInfo 4579 raw := NoMethod(*s) 4580 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4581} 4582 4583func (s *GoogleCloudVisionV1p2beta1ColorInfo) UnmarshalJSON(data []byte) error { 4584 type NoMethod GoogleCloudVisionV1p2beta1ColorInfo 4585 var s1 struct { 4586 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 4587 Score gensupport.JSONFloat64 `json:"score"` 4588 *NoMethod 4589 } 4590 s1.NoMethod = (*NoMethod)(s) 4591 if err := json.Unmarshal(data, &s1); err != nil { 4592 return err 4593 } 4594 s.PixelFraction = float64(s1.PixelFraction) 4595 s.Score = float64(s1.Score) 4596 return nil 4597} 4598 4599// GoogleCloudVisionV1p2beta1CropHint: Single crop hint that is used to 4600// generate a new crop when serving an image. 4601type GoogleCloudVisionV1p2beta1CropHint struct { 4602 // BoundingPoly: The bounding polygon for the crop region. The 4603 // coordinates of the bounding 4604 // box are in the original image's scale. 4605 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 4606 4607 // Confidence: Confidence of this being a salient region. Range [0, 1]. 4608 Confidence float64 `json:"confidence,omitempty"` 4609 4610 // ImportanceFraction: Fraction of importance of this salient region 4611 // with respect to the original 4612 // image. 4613 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 4614 4615 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 4616 // unconditionally include in API requests. By default, fields with 4617 // empty values are omitted from API requests. However, any non-pointer, 4618 // non-interface field appearing in ForceSendFields will be sent to the 4619 // server regardless of whether the field is empty or not. This may be 4620 // used to include empty fields in Patch requests. 4621 ForceSendFields []string `json:"-"` 4622 4623 // NullFields is a list of field names (e.g. "BoundingPoly") to include 4624 // in API requests with the JSON null value. By default, fields with 4625 // empty values are omitted from API requests. However, any field with 4626 // an empty value appearing in NullFields will be sent to the server as 4627 // null. It is an error if a field in this list has a non-empty value. 4628 // This may be used to include null fields in Patch requests. 4629 NullFields []string `json:"-"` 4630} 4631 4632func (s *GoogleCloudVisionV1p2beta1CropHint) MarshalJSON() ([]byte, error) { 4633 type NoMethod GoogleCloudVisionV1p2beta1CropHint 4634 raw := NoMethod(*s) 4635 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4636} 4637 4638func (s *GoogleCloudVisionV1p2beta1CropHint) UnmarshalJSON(data []byte) error { 4639 type NoMethod GoogleCloudVisionV1p2beta1CropHint 4640 var s1 struct { 4641 Confidence gensupport.JSONFloat64 `json:"confidence"` 4642 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 4643 *NoMethod 4644 } 4645 s1.NoMethod = (*NoMethod)(s) 4646 if err := json.Unmarshal(data, &s1); err != nil { 4647 return err 4648 } 4649 s.Confidence = float64(s1.Confidence) 4650 s.ImportanceFraction = float64(s1.ImportanceFraction) 4651 return nil 4652} 4653 4654// GoogleCloudVisionV1p2beta1CropHintsAnnotation: Set of crop hints that 4655// are used to generate new crops when serving images. 4656type GoogleCloudVisionV1p2beta1CropHintsAnnotation struct { 4657 // CropHints: Crop hint results. 4658 CropHints []*GoogleCloudVisionV1p2beta1CropHint `json:"cropHints,omitempty"` 4659 4660 // ForceSendFields is a list of field names (e.g. "CropHints") to 4661 // unconditionally include in API requests. By default, fields with 4662 // empty values are omitted from API requests. However, any non-pointer, 4663 // non-interface field appearing in ForceSendFields will be sent to the 4664 // server regardless of whether the field is empty or not. This may be 4665 // used to include empty fields in Patch requests. 4666 ForceSendFields []string `json:"-"` 4667 4668 // NullFields is a list of field names (e.g. "CropHints") to include in 4669 // API requests with the JSON null value. By default, fields with empty 4670 // values are omitted from API requests. However, any field with an 4671 // empty value appearing in NullFields will be sent to the server as 4672 // null. It is an error if a field in this list has a non-empty value. 4673 // This may be used to include null fields in Patch requests. 4674 NullFields []string `json:"-"` 4675} 4676 4677func (s *GoogleCloudVisionV1p2beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 4678 type NoMethod GoogleCloudVisionV1p2beta1CropHintsAnnotation 4679 raw := NoMethod(*s) 4680 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4681} 4682 4683// GoogleCloudVisionV1p2beta1CropHintsParams: Parameters for crop hints 4684// annotation request. 4685type GoogleCloudVisionV1p2beta1CropHintsParams struct { 4686 // AspectRatios: Aspect ratios in floats, representing the ratio of the 4687 // width to the height 4688 // of the image. For example, if the desired aspect ratio is 4/3, 4689 // the 4690 // corresponding float value should be 1.33333. If not specified, 4691 // the 4692 // best possible crop is returned. The number of provided aspect ratios 4693 // is 4694 // limited to a maximum of 16; any aspect ratios provided after the 16th 4695 // are 4696 // ignored. 4697 AspectRatios []float64 `json:"aspectRatios,omitempty"` 4698 4699 // ForceSendFields is a list of field names (e.g. "AspectRatios") to 4700 // unconditionally include in API requests. By default, fields with 4701 // empty values are omitted from API requests. However, any non-pointer, 4702 // non-interface field appearing in ForceSendFields will be sent to the 4703 // server regardless of whether the field is empty or not. This may be 4704 // used to include empty fields in Patch requests. 4705 ForceSendFields []string `json:"-"` 4706 4707 // NullFields is a list of field names (e.g. "AspectRatios") to include 4708 // in API requests with the JSON null value. By default, fields with 4709 // empty values are omitted from API requests. However, any field with 4710 // an empty value appearing in NullFields will be sent to the server as 4711 // null. It is an error if a field in this list has a non-empty value. 4712 // This may be used to include null fields in Patch requests. 4713 NullFields []string `json:"-"` 4714} 4715 4716func (s *GoogleCloudVisionV1p2beta1CropHintsParams) MarshalJSON() ([]byte, error) { 4717 type NoMethod GoogleCloudVisionV1p2beta1CropHintsParams 4718 raw := NoMethod(*s) 4719 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4720} 4721 4722// GoogleCloudVisionV1p2beta1DominantColorsAnnotation: Set of dominant 4723// colors and their corresponding scores. 4724type GoogleCloudVisionV1p2beta1DominantColorsAnnotation struct { 4725 // Colors: RGB color values with their score and pixel fraction. 4726 Colors []*GoogleCloudVisionV1p2beta1ColorInfo `json:"colors,omitempty"` 4727 4728 // ForceSendFields is a list of field names (e.g. "Colors") to 4729 // unconditionally include in API requests. By default, fields with 4730 // empty values are omitted from API requests. However, any non-pointer, 4731 // non-interface field appearing in ForceSendFields will be sent to the 4732 // server regardless of whether the field is empty or not. This may be 4733 // used to include empty fields in Patch requests. 4734 ForceSendFields []string `json:"-"` 4735 4736 // NullFields is a list of field names (e.g. "Colors") to include in API 4737 // requests with the JSON null value. By default, fields with empty 4738 // values are omitted from API requests. However, any field with an 4739 // empty value appearing in NullFields will be sent to the server as 4740 // null. It is an error if a field in this list has a non-empty value. 4741 // This may be used to include null fields in Patch requests. 4742 NullFields []string `json:"-"` 4743} 4744 4745func (s *GoogleCloudVisionV1p2beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 4746 type NoMethod GoogleCloudVisionV1p2beta1DominantColorsAnnotation 4747 raw := NoMethod(*s) 4748 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4749} 4750 4751// GoogleCloudVisionV1p2beta1EntityAnnotation: Set of detected entity 4752// features. 4753type GoogleCloudVisionV1p2beta1EntityAnnotation struct { 4754 // BoundingPoly: Image region to which this entity belongs. Not 4755 // produced 4756 // for `LABEL_DETECTION` features. 4757 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 4758 4759 // Confidence: **Deprecated. Use `score` instead.** 4760 // The accuracy of the entity detection in an image. 4761 // For example, for an image in which the "Eiffel Tower" entity is 4762 // detected, 4763 // this field represents the confidence that there is a tower in the 4764 // query 4765 // image. Range [0, 1]. 4766 Confidence float64 `json:"confidence,omitempty"` 4767 4768 // Description: Entity textual description, expressed in its `locale` 4769 // language. 4770 Description string `json:"description,omitempty"` 4771 4772 // Locale: The language code for the locale in which the entity 4773 // textual 4774 // `description` is expressed. 4775 Locale string `json:"locale,omitempty"` 4776 4777 // Locations: The location information for the detected entity. 4778 // Multiple 4779 // `LocationInfo` elements can be present because one location 4780 // may 4781 // indicate the location of the scene in the image, and another 4782 // location 4783 // may indicate the location of the place where the image was 4784 // taken. 4785 // Location information is usually present for landmarks. 4786 Locations []*GoogleCloudVisionV1p2beta1LocationInfo `json:"locations,omitempty"` 4787 4788 // Mid: Opaque entity ID. Some IDs may be available in 4789 // [Google Knowledge Graph 4790 // Search 4791 // API](https://developers.google.com/knowledge-graph/). 4792 Mid string `json:"mid,omitempty"` 4793 4794 // Properties: Some entities may have optional user-supplied `Property` 4795 // (name/value) 4796 // fields, such a score or string that qualifies the entity. 4797 Properties []*GoogleCloudVisionV1p2beta1Property `json:"properties,omitempty"` 4798 4799 // Score: Overall score of the result. Range [0, 1]. 4800 Score float64 `json:"score,omitempty"` 4801 4802 // Topicality: The relevancy of the ICA (Image Content Annotation) label 4803 // to the 4804 // image. For example, the relevancy of "tower" is likely higher to an 4805 // image 4806 // containing the detected "Eiffel Tower" than to an image containing 4807 // a 4808 // detected distant towering building, even though the confidence 4809 // that 4810 // there is a tower in each image may be the same. Range [0, 1]. 4811 Topicality float64 `json:"topicality,omitempty"` 4812 4813 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 4814 // unconditionally include in API requests. By default, fields with 4815 // empty values are omitted from API requests. However, any non-pointer, 4816 // non-interface field appearing in ForceSendFields will be sent to the 4817 // server regardless of whether the field is empty or not. This may be 4818 // used to include empty fields in Patch requests. 4819 ForceSendFields []string `json:"-"` 4820 4821 // NullFields is a list of field names (e.g. "BoundingPoly") to include 4822 // in API requests with the JSON null value. By default, fields with 4823 // empty values are omitted from API requests. However, any field with 4824 // an empty value appearing in NullFields will be sent to the server as 4825 // null. It is an error if a field in this list has a non-empty value. 4826 // This may be used to include null fields in Patch requests. 4827 NullFields []string `json:"-"` 4828} 4829 4830func (s *GoogleCloudVisionV1p2beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 4831 type NoMethod GoogleCloudVisionV1p2beta1EntityAnnotation 4832 raw := NoMethod(*s) 4833 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 4834} 4835 4836func (s *GoogleCloudVisionV1p2beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 4837 type NoMethod GoogleCloudVisionV1p2beta1EntityAnnotation 4838 var s1 struct { 4839 Confidence gensupport.JSONFloat64 `json:"confidence"` 4840 Score gensupport.JSONFloat64 `json:"score"` 4841 Topicality gensupport.JSONFloat64 `json:"topicality"` 4842 *NoMethod 4843 } 4844 s1.NoMethod = (*NoMethod)(s) 4845 if err := json.Unmarshal(data, &s1); err != nil { 4846 return err 4847 } 4848 s.Confidence = float64(s1.Confidence) 4849 s.Score = float64(s1.Score) 4850 s.Topicality = float64(s1.Topicality) 4851 return nil 4852} 4853 4854// GoogleCloudVisionV1p2beta1FaceAnnotation: A face annotation object 4855// contains the results of face detection. 4856type GoogleCloudVisionV1p2beta1FaceAnnotation struct { 4857 // AngerLikelihood: Anger likelihood. 4858 // 4859 // Possible values: 4860 // "UNKNOWN" - Unknown likelihood. 4861 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 4862 // specified vertical. 4863 // "UNLIKELY" - It is unlikely that the image belongs to the specified 4864 // vertical. 4865 // "POSSIBLE" - It is possible that the image belongs to the specified 4866 // vertical. 4867 // "LIKELY" - It is likely that the image belongs to the specified 4868 // vertical. 4869 // "VERY_LIKELY" - It is very likely that the image belongs to the 4870 // specified vertical. 4871 AngerLikelihood string `json:"angerLikelihood,omitempty"` 4872 4873 // BlurredLikelihood: Blurred likelihood. 4874 // 4875 // Possible values: 4876 // "UNKNOWN" - Unknown likelihood. 4877 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 4878 // specified vertical. 4879 // "UNLIKELY" - It is unlikely that the image belongs to the specified 4880 // vertical. 4881 // "POSSIBLE" - It is possible that the image belongs to the specified 4882 // vertical. 4883 // "LIKELY" - It is likely that the image belongs to the specified 4884 // vertical. 4885 // "VERY_LIKELY" - It is very likely that the image belongs to the 4886 // specified vertical. 4887 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 4888 4889 // BoundingPoly: The bounding polygon around the face. The coordinates 4890 // of the bounding box 4891 // are in the original image's scale. 4892 // The bounding box is computed to "frame" the face in accordance with 4893 // human 4894 // expectations. It is based on the landmarker results. 4895 // Note that one or more x and/or y coordinates may not be generated in 4896 // the 4897 // `BoundingPoly` (the polygon will be unbounded) if only a partial 4898 // face 4899 // appears in the image to be annotated. 4900 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 4901 4902 // DetectionConfidence: Detection confidence. Range [0, 1]. 4903 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 4904 4905 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 4906 // than the 4907 // `boundingPoly`, and encloses only the skin part of the face. 4908 // Typically, it 4909 // is used to eliminate the face from any image analysis that detects 4910 // the 4911 // "amount of skin" visible in an image. It is not based on 4912 // the 4913 // landmarker results, only on the initial face detection, hence 4914 // the <code>fd</code> (face detection) prefix. 4915 FdBoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 4916 4917 // HeadwearLikelihood: Headwear likelihood. 4918 // 4919 // Possible values: 4920 // "UNKNOWN" - Unknown likelihood. 4921 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 4922 // specified vertical. 4923 // "UNLIKELY" - It is unlikely that the image belongs to the specified 4924 // vertical. 4925 // "POSSIBLE" - It is possible that the image belongs to the specified 4926 // vertical. 4927 // "LIKELY" - It is likely that the image belongs to the specified 4928 // vertical. 4929 // "VERY_LIKELY" - It is very likely that the image belongs to the 4930 // specified vertical. 4931 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 4932 4933 // JoyLikelihood: Joy likelihood. 4934 // 4935 // Possible values: 4936 // "UNKNOWN" - Unknown likelihood. 4937 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 4938 // specified vertical. 4939 // "UNLIKELY" - It is unlikely that the image belongs to the specified 4940 // vertical. 4941 // "POSSIBLE" - It is possible that the image belongs to the specified 4942 // vertical. 4943 // "LIKELY" - It is likely that the image belongs to the specified 4944 // vertical. 4945 // "VERY_LIKELY" - It is very likely that the image belongs to the 4946 // specified vertical. 4947 JoyLikelihood string `json:"joyLikelihood,omitempty"` 4948 4949 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 4950 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 4951 4952 // Landmarks: Detected face landmarks. 4953 Landmarks []*GoogleCloudVisionV1p2beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 4954 4955 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 4956 // that the face is 4957 // pointing relative to the vertical plane perpendicular to the image. 4958 // Range 4959 // [-180,180]. 4960 PanAngle float64 `json:"panAngle,omitempty"` 4961 4962 // RollAngle: Roll angle, which indicates the amount of 4963 // clockwise/anti-clockwise rotation 4964 // of the face relative to the image vertical about the axis 4965 // perpendicular to 4966 // the face. Range [-180,180]. 4967 RollAngle float64 `json:"rollAngle,omitempty"` 4968 4969 // SorrowLikelihood: Sorrow likelihood. 4970 // 4971 // Possible values: 4972 // "UNKNOWN" - Unknown likelihood. 4973 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 4974 // specified vertical. 4975 // "UNLIKELY" - It is unlikely that the image belongs to the specified 4976 // vertical. 4977 // "POSSIBLE" - It is possible that the image belongs to the specified 4978 // vertical. 4979 // "LIKELY" - It is likely that the image belongs to the specified 4980 // vertical. 4981 // "VERY_LIKELY" - It is very likely that the image belongs to the 4982 // specified vertical. 4983 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 4984 4985 // SurpriseLikelihood: Surprise likelihood. 4986 // 4987 // Possible values: 4988 // "UNKNOWN" - Unknown likelihood. 4989 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 4990 // specified vertical. 4991 // "UNLIKELY" - It is unlikely that the image belongs to the specified 4992 // vertical. 4993 // "POSSIBLE" - It is possible that the image belongs to the specified 4994 // vertical. 4995 // "LIKELY" - It is likely that the image belongs to the specified 4996 // vertical. 4997 // "VERY_LIKELY" - It is very likely that the image belongs to the 4998 // specified vertical. 4999 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 5000 5001 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 5002 // that the face is 5003 // pointing relative to the image's horizontal plane. Range [-180,180]. 5004 TiltAngle float64 `json:"tiltAngle,omitempty"` 5005 5006 // UnderExposedLikelihood: Under-exposed likelihood. 5007 // 5008 // Possible values: 5009 // "UNKNOWN" - Unknown likelihood. 5010 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 5011 // specified vertical. 5012 // "UNLIKELY" - It is unlikely that the image belongs to the specified 5013 // vertical. 5014 // "POSSIBLE" - It is possible that the image belongs to the specified 5015 // vertical. 5016 // "LIKELY" - It is likely that the image belongs to the specified 5017 // vertical. 5018 // "VERY_LIKELY" - It is very likely that the image belongs to the 5019 // specified vertical. 5020 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 5021 5022 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 5023 // unconditionally include in API requests. By default, fields with 5024 // empty values are omitted from API requests. However, any non-pointer, 5025 // non-interface field appearing in ForceSendFields will be sent to the 5026 // server regardless of whether the field is empty or not. This may be 5027 // used to include empty fields in Patch requests. 5028 ForceSendFields []string `json:"-"` 5029 5030 // NullFields is a list of field names (e.g. "AngerLikelihood") to 5031 // include in API requests with the JSON null value. By default, fields 5032 // with empty values are omitted from API requests. However, any field 5033 // with an empty value appearing in NullFields will be sent to the 5034 // server as null. It is an error if a field in this list has a 5035 // non-empty value. This may be used to include null fields in Patch 5036 // requests. 5037 NullFields []string `json:"-"` 5038} 5039 5040func (s *GoogleCloudVisionV1p2beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 5041 type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotation 5042 raw := NoMethod(*s) 5043 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5044} 5045 5046func (s *GoogleCloudVisionV1p2beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 5047 type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotation 5048 var s1 struct { 5049 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 5050 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 5051 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 5052 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 5053 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 5054 *NoMethod 5055 } 5056 s1.NoMethod = (*NoMethod)(s) 5057 if err := json.Unmarshal(data, &s1); err != nil { 5058 return err 5059 } 5060 s.DetectionConfidence = float64(s1.DetectionConfidence) 5061 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 5062 s.PanAngle = float64(s1.PanAngle) 5063 s.RollAngle = float64(s1.RollAngle) 5064 s.TiltAngle = float64(s1.TiltAngle) 5065 return nil 5066} 5067 5068// GoogleCloudVisionV1p2beta1FaceAnnotationLandmark: A face-specific 5069// landmark (for example, a face feature). 5070type GoogleCloudVisionV1p2beta1FaceAnnotationLandmark struct { 5071 // Position: Face landmark position. 5072 Position *GoogleCloudVisionV1p2beta1Position `json:"position,omitempty"` 5073 5074 // Type: Face landmark type. 5075 // 5076 // Possible values: 5077 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 5078 // filled. 5079 // "LEFT_EYE" - Left eye. 5080 // "RIGHT_EYE" - Right eye. 5081 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 5082 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 5083 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 5084 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 5085 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 5086 // "NOSE_TIP" - Nose tip. 5087 // "UPPER_LIP" - Upper lip. 5088 // "LOWER_LIP" - Lower lip. 5089 // "MOUTH_LEFT" - Mouth left. 5090 // "MOUTH_RIGHT" - Mouth right. 5091 // "MOUTH_CENTER" - Mouth center. 5092 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 5093 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 5094 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 5095 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 5096 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 5097 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 5098 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 5099 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 5100 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 5101 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 5102 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 5103 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 5104 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 5105 // "LEFT_EAR_TRAGION" - Left ear tragion. 5106 // "RIGHT_EAR_TRAGION" - Right ear tragion. 5107 // "LEFT_EYE_PUPIL" - Left eye pupil. 5108 // "RIGHT_EYE_PUPIL" - Right eye pupil. 5109 // "FOREHEAD_GLABELLA" - Forehead glabella. 5110 // "CHIN_GNATHION" - Chin gnathion. 5111 // "CHIN_LEFT_GONION" - Chin left gonion. 5112 // "CHIN_RIGHT_GONION" - Chin right gonion. 5113 Type string `json:"type,omitempty"` 5114 5115 // ForceSendFields is a list of field names (e.g. "Position") to 5116 // unconditionally include in API requests. By default, fields with 5117 // empty values are omitted from API requests. However, any non-pointer, 5118 // non-interface field appearing in ForceSendFields will be sent to the 5119 // server regardless of whether the field is empty or not. This may be 5120 // used to include empty fields in Patch requests. 5121 ForceSendFields []string `json:"-"` 5122 5123 // NullFields is a list of field names (e.g. "Position") to include in 5124 // API requests with the JSON null value. By default, fields with empty 5125 // values are omitted from API requests. However, any field with an 5126 // empty value appearing in NullFields will be sent to the server as 5127 // null. It is an error if a field in this list has a non-empty value. 5128 // This may be used to include null fields in Patch requests. 5129 NullFields []string `json:"-"` 5130} 5131 5132func (s *GoogleCloudVisionV1p2beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 5133 type NoMethod GoogleCloudVisionV1p2beta1FaceAnnotationLandmark 5134 raw := NoMethod(*s) 5135 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5136} 5137 5138// GoogleCloudVisionV1p2beta1Feature: The type of Google Cloud Vision 5139// API detection to perform, and the maximum 5140// number of results to return for that type. Multiple `Feature` objects 5141// can 5142// be specified in the `features` list. 5143type GoogleCloudVisionV1p2beta1Feature struct { 5144 // MaxResults: Maximum number of results of this type. Does not apply 5145 // to 5146 // `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`. 5147 MaxResults int64 `json:"maxResults,omitempty"` 5148 5149 // Model: Model to use for the feature. 5150 // Supported values: "builtin/stable" (the default if unset) 5151 // and 5152 // "builtin/latest". 5153 Model string `json:"model,omitempty"` 5154 5155 // Type: The feature type. 5156 // 5157 // Possible values: 5158 // "TYPE_UNSPECIFIED" - Unspecified feature type. 5159 // "FACE_DETECTION" - Run face detection. 5160 // "LANDMARK_DETECTION" - Run landmark detection. 5161 // "LOGO_DETECTION" - Run logo detection. 5162 // "LABEL_DETECTION" - Run label detection. 5163 // "TEXT_DETECTION" - Run text detection / optical character 5164 // recognition (OCR). Text detection 5165 // is optimized for areas of text within a larger image; if the image 5166 // is 5167 // a document, use `DOCUMENT_TEXT_DETECTION` instead. 5168 // "DOCUMENT_TEXT_DETECTION" - Run dense text document OCR. Takes 5169 // precedence when both 5170 // `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present. 5171 // "SAFE_SEARCH_DETECTION" - Run Safe Search to detect potentially 5172 // unsafe 5173 // or undesirable content. 5174 // "IMAGE_PROPERTIES" - Compute a set of image properties, such as 5175 // the 5176 // image's dominant colors. 5177 // "CROP_HINTS" - Run crop hints. 5178 // "WEB_DETECTION" - Run web detection. 5179 // "PRODUCT_SEARCH" - Run Product Search. 5180 // "OBJECT_LOCALIZATION" - Run localizer for object detection. 5181 Type string `json:"type,omitempty"` 5182 5183 // ForceSendFields is a list of field names (e.g. "MaxResults") to 5184 // unconditionally include in API requests. By default, fields with 5185 // empty values are omitted from API requests. However, any non-pointer, 5186 // non-interface field appearing in ForceSendFields will be sent to the 5187 // server regardless of whether the field is empty or not. This may be 5188 // used to include empty fields in Patch requests. 5189 ForceSendFields []string `json:"-"` 5190 5191 // NullFields is a list of field names (e.g. "MaxResults") to include in 5192 // API requests with the JSON null value. By default, fields with empty 5193 // values are omitted from API requests. However, any field with an 5194 // empty value appearing in NullFields will be sent to the server as 5195 // null. It is an error if a field in this list has a non-empty value. 5196 // This may be used to include null fields in Patch requests. 5197 NullFields []string `json:"-"` 5198} 5199 5200func (s *GoogleCloudVisionV1p2beta1Feature) MarshalJSON() ([]byte, error) { 5201 type NoMethod GoogleCloudVisionV1p2beta1Feature 5202 raw := NoMethod(*s) 5203 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5204} 5205 5206// GoogleCloudVisionV1p2beta1GcsDestination: The Google Cloud Storage 5207// location where the output will be written to. 5208type GoogleCloudVisionV1p2beta1GcsDestination struct { 5209 // Uri: Google Cloud Storage URI prefix where the results will be 5210 // stored. Results 5211 // will be in JSON format and preceded by its corresponding input URI 5212 // prefix. 5213 // This field can either represent a gcs file prefix or gcs directory. 5214 // In 5215 // either case, the uri should be unique because in order to get all of 5216 // the 5217 // output files, you will need to do a wildcard gcs search on the uri 5218 // prefix 5219 // you provide. 5220 // 5221 // Examples: 5222 // 5223 // * File Prefix: gs://bucket-name/here/filenameprefix The output 5224 // files 5225 // will be created in gs://bucket-name/here/ and the names of the 5226 // output files will begin with "filenameprefix". 5227 // 5228 // * Directory Prefix: gs://bucket-name/some/location/ The output 5229 // files 5230 // will be created in gs://bucket-name/some/location/ and the names of 5231 // the 5232 // output files could be anything because there was no filename 5233 // prefix 5234 // specified. 5235 // 5236 // If multiple outputs, each response is still AnnotateFileResponse, 5237 // each of 5238 // which contains some subset of the full list of 5239 // AnnotateImageResponse. 5240 // Multiple outputs can happen if, for example, the output JSON is too 5241 // large 5242 // and overflows into multiple sharded files. 5243 Uri string `json:"uri,omitempty"` 5244 5245 // ForceSendFields is a list of field names (e.g. "Uri") to 5246 // unconditionally include in API requests. By default, fields with 5247 // empty values are omitted from API requests. However, any non-pointer, 5248 // non-interface field appearing in ForceSendFields will be sent to the 5249 // server regardless of whether the field is empty or not. This may be 5250 // used to include empty fields in Patch requests. 5251 ForceSendFields []string `json:"-"` 5252 5253 // NullFields is a list of field names (e.g. "Uri") to include in API 5254 // requests with the JSON null value. By default, fields with empty 5255 // values are omitted from API requests. However, any field with an 5256 // empty value appearing in NullFields will be sent to the server as 5257 // null. It is an error if a field in this list has a non-empty value. 5258 // This may be used to include null fields in Patch requests. 5259 NullFields []string `json:"-"` 5260} 5261 5262func (s *GoogleCloudVisionV1p2beta1GcsDestination) MarshalJSON() ([]byte, error) { 5263 type NoMethod GoogleCloudVisionV1p2beta1GcsDestination 5264 raw := NoMethod(*s) 5265 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5266} 5267 5268// GoogleCloudVisionV1p2beta1GcsSource: The Google Cloud Storage 5269// location where the input will be read from. 5270type GoogleCloudVisionV1p2beta1GcsSource struct { 5271 // Uri: Google Cloud Storage URI for the input file. This must only be 5272 // a 5273 // Google Cloud Storage object. Wildcards are not currently supported. 5274 Uri string `json:"uri,omitempty"` 5275 5276 // ForceSendFields is a list of field names (e.g. "Uri") to 5277 // unconditionally include in API requests. By default, fields with 5278 // empty values are omitted from API requests. However, any non-pointer, 5279 // non-interface field appearing in ForceSendFields will be sent to the 5280 // server regardless of whether the field is empty or not. This may be 5281 // used to include empty fields in Patch requests. 5282 ForceSendFields []string `json:"-"` 5283 5284 // NullFields is a list of field names (e.g. "Uri") to include in API 5285 // requests with the JSON null value. By default, fields with empty 5286 // values are omitted from API requests. However, any field with an 5287 // empty value appearing in NullFields will be sent to the server as 5288 // null. It is an error if a field in this list has a non-empty value. 5289 // This may be used to include null fields in Patch requests. 5290 NullFields []string `json:"-"` 5291} 5292 5293func (s *GoogleCloudVisionV1p2beta1GcsSource) MarshalJSON() ([]byte, error) { 5294 type NoMethod GoogleCloudVisionV1p2beta1GcsSource 5295 raw := NoMethod(*s) 5296 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5297} 5298 5299// GoogleCloudVisionV1p2beta1Image: Client image to perform Google Cloud 5300// Vision API tasks over. 5301type GoogleCloudVisionV1p2beta1Image struct { 5302 // Content: Image content, represented as a stream of bytes. 5303 // Note: As with all `bytes` fields, protobuffers use a pure 5304 // binary 5305 // representation, whereas JSON representations use base64. 5306 Content string `json:"content,omitempty"` 5307 5308 // Source: Google Cloud Storage image location, or publicly-accessible 5309 // image 5310 // URL. If both `content` and `source` are provided for an image, 5311 // `content` 5312 // takes precedence and is used to perform the image annotation request. 5313 Source *GoogleCloudVisionV1p2beta1ImageSource `json:"source,omitempty"` 5314 5315 // ForceSendFields is a list of field names (e.g. "Content") to 5316 // unconditionally include in API requests. By default, fields with 5317 // empty values are omitted from API requests. However, any non-pointer, 5318 // non-interface field appearing in ForceSendFields will be sent to the 5319 // server regardless of whether the field is empty or not. This may be 5320 // used to include empty fields in Patch requests. 5321 ForceSendFields []string `json:"-"` 5322 5323 // NullFields is a list of field names (e.g. "Content") to include in 5324 // API requests with the JSON null value. By default, fields with empty 5325 // values are omitted from API requests. However, any field with an 5326 // empty value appearing in NullFields will be sent to the server as 5327 // null. It is an error if a field in this list has a non-empty value. 5328 // This may be used to include null fields in Patch requests. 5329 NullFields []string `json:"-"` 5330} 5331 5332func (s *GoogleCloudVisionV1p2beta1Image) MarshalJSON() ([]byte, error) { 5333 type NoMethod GoogleCloudVisionV1p2beta1Image 5334 raw := NoMethod(*s) 5335 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5336} 5337 5338// GoogleCloudVisionV1p2beta1ImageAnnotationContext: If an image was 5339// produced from a file (e.g. a PDF), this message gives 5340// information about the source of that image. 5341type GoogleCloudVisionV1p2beta1ImageAnnotationContext struct { 5342 // PageNumber: If the file was a PDF or TIFF, this field gives the page 5343 // number within 5344 // the file used to produce the image. 5345 PageNumber int64 `json:"pageNumber,omitempty"` 5346 5347 // Uri: The URI of the file used to produce the image. 5348 Uri string `json:"uri,omitempty"` 5349 5350 // ForceSendFields is a list of field names (e.g. "PageNumber") to 5351 // unconditionally include in API requests. By default, fields with 5352 // empty values are omitted from API requests. However, any non-pointer, 5353 // non-interface field appearing in ForceSendFields will be sent to the 5354 // server regardless of whether the field is empty or not. This may be 5355 // used to include empty fields in Patch requests. 5356 ForceSendFields []string `json:"-"` 5357 5358 // NullFields is a list of field names (e.g. "PageNumber") to include in 5359 // API requests with the JSON null value. By default, fields with empty 5360 // values are omitted from API requests. However, any field with an 5361 // empty value appearing in NullFields will be sent to the server as 5362 // null. It is an error if a field in this list has a non-empty value. 5363 // This may be used to include null fields in Patch requests. 5364 NullFields []string `json:"-"` 5365} 5366 5367func (s *GoogleCloudVisionV1p2beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 5368 type NoMethod GoogleCloudVisionV1p2beta1ImageAnnotationContext 5369 raw := NoMethod(*s) 5370 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5371} 5372 5373// GoogleCloudVisionV1p2beta1ImageContext: Image context and/or 5374// feature-specific parameters. 5375type GoogleCloudVisionV1p2beta1ImageContext struct { 5376 // CropHintsParams: Parameters for crop hints annotation request. 5377 CropHintsParams *GoogleCloudVisionV1p2beta1CropHintsParams `json:"cropHintsParams,omitempty"` 5378 5379 // LanguageHints: List of languages to use for TEXT_DETECTION. In most 5380 // cases, an empty value 5381 // yields the best results since it enables automatic language 5382 // detection. For 5383 // languages based on the Latin alphabet, setting `language_hints` is 5384 // not 5385 // needed. In rare cases, when the language of the text in the image is 5386 // known, 5387 // setting a hint will help get better results (although it will be 5388 // a 5389 // significant hindrance if the hint is wrong). Text detection returns 5390 // an 5391 // error if one or more of the specified languages is not one of 5392 // the 5393 // [supported languages](/vision/docs/languages). 5394 LanguageHints []string `json:"languageHints,omitempty"` 5395 5396 // LatLongRect: Not used. 5397 LatLongRect *GoogleCloudVisionV1p2beta1LatLongRect `json:"latLongRect,omitempty"` 5398 5399 // ProductSearchParams: Parameters for product search. 5400 ProductSearchParams *GoogleCloudVisionV1p2beta1ProductSearchParams `json:"productSearchParams,omitempty"` 5401 5402 // WebDetectionParams: Parameters for web detection. 5403 WebDetectionParams *GoogleCloudVisionV1p2beta1WebDetectionParams `json:"webDetectionParams,omitempty"` 5404 5405 // ForceSendFields is a list of field names (e.g. "CropHintsParams") to 5406 // unconditionally include in API requests. By default, fields with 5407 // empty values are omitted from API requests. However, any non-pointer, 5408 // non-interface field appearing in ForceSendFields will be sent to the 5409 // server regardless of whether the field is empty or not. This may be 5410 // used to include empty fields in Patch requests. 5411 ForceSendFields []string `json:"-"` 5412 5413 // NullFields is a list of field names (e.g. "CropHintsParams") to 5414 // include in API requests with the JSON null value. By default, fields 5415 // with empty values are omitted from API requests. However, any field 5416 // with an empty value appearing in NullFields will be sent to the 5417 // server as null. It is an error if a field in this list has a 5418 // non-empty value. This may be used to include null fields in Patch 5419 // requests. 5420 NullFields []string `json:"-"` 5421} 5422 5423func (s *GoogleCloudVisionV1p2beta1ImageContext) MarshalJSON() ([]byte, error) { 5424 type NoMethod GoogleCloudVisionV1p2beta1ImageContext 5425 raw := NoMethod(*s) 5426 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5427} 5428 5429// GoogleCloudVisionV1p2beta1ImageProperties: Stores image properties, 5430// such as dominant colors. 5431type GoogleCloudVisionV1p2beta1ImageProperties struct { 5432 // DominantColors: If present, dominant colors completed successfully. 5433 DominantColors *GoogleCloudVisionV1p2beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 5434 5435 // ForceSendFields is a list of field names (e.g. "DominantColors") to 5436 // unconditionally include in API requests. By default, fields with 5437 // empty values are omitted from API requests. However, any non-pointer, 5438 // non-interface field appearing in ForceSendFields will be sent to the 5439 // server regardless of whether the field is empty or not. This may be 5440 // used to include empty fields in Patch requests. 5441 ForceSendFields []string `json:"-"` 5442 5443 // NullFields is a list of field names (e.g. "DominantColors") to 5444 // include in API requests with the JSON null value. By default, fields 5445 // with empty values are omitted from API requests. However, any field 5446 // with an empty value appearing in NullFields will be sent to the 5447 // server as null. It is an error if a field in this list has a 5448 // non-empty value. This may be used to include null fields in Patch 5449 // requests. 5450 NullFields []string `json:"-"` 5451} 5452 5453func (s *GoogleCloudVisionV1p2beta1ImageProperties) MarshalJSON() ([]byte, error) { 5454 type NoMethod GoogleCloudVisionV1p2beta1ImageProperties 5455 raw := NoMethod(*s) 5456 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5457} 5458 5459// GoogleCloudVisionV1p2beta1ImageSource: External image source (Google 5460// Cloud Storage or web URL image location). 5461type GoogleCloudVisionV1p2beta1ImageSource struct { 5462 // GcsImageUri: **Use `image_uri` instead.** 5463 // 5464 // The Google Cloud Storage URI of the 5465 // form 5466 // `gs://bucket_name/object_name`. Object versioning is not supported. 5467 // See 5468 // [Google Cloud Storage 5469 // Request 5470 // URIs](https://cloud.google.com/storage/docs/reference-uris) for more 5471 // info. 5472 GcsImageUri string `json:"gcsImageUri,omitempty"` 5473 5474 // ImageUri: The URI of the source image. Can be either: 5475 // 5476 // 1. A Google Cloud Storage URI of the form 5477 // `gs://bucket_name/object_name`. Object versioning is not 5478 // supported. See 5479 // [Google Cloud Storage Request 5480 // URIs](https://cloud.google.com/storage/docs/reference-uris) for 5481 // more 5482 // info. 5483 // 5484 // 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images 5485 // from 5486 // HTTP/HTTPS URLs, Google cannot guarantee that the request will be 5487 // completed. Your request may fail if the specified host denies the 5488 // request (e.g. due to request throttling or DOS prevention), or if 5489 // Google 5490 // throttles requests to the site for abuse prevention. You should 5491 // not 5492 // depend on externally-hosted images for production 5493 // applications. 5494 // 5495 // When both `gcs_image_uri` and `image_uri` are specified, `image_uri` 5496 // takes 5497 // precedence. 5498 ImageUri string `json:"imageUri,omitempty"` 5499 5500 // ForceSendFields is a list of field names (e.g. "GcsImageUri") to 5501 // unconditionally include in API requests. By default, fields with 5502 // empty values are omitted from API requests. However, any non-pointer, 5503 // non-interface field appearing in ForceSendFields will be sent to the 5504 // server regardless of whether the field is empty or not. This may be 5505 // used to include empty fields in Patch requests. 5506 ForceSendFields []string `json:"-"` 5507 5508 // NullFields is a list of field names (e.g. "GcsImageUri") to include 5509 // in API requests with the JSON null value. By default, fields with 5510 // empty values are omitted from API requests. However, any field with 5511 // an empty value appearing in NullFields will be sent to the server as 5512 // null. It is an error if a field in this list has a non-empty value. 5513 // This may be used to include null fields in Patch requests. 5514 NullFields []string `json:"-"` 5515} 5516 5517func (s *GoogleCloudVisionV1p2beta1ImageSource) MarshalJSON() ([]byte, error) { 5518 type NoMethod GoogleCloudVisionV1p2beta1ImageSource 5519 raw := NoMethod(*s) 5520 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5521} 5522 5523// GoogleCloudVisionV1p2beta1InputConfig: The desired input location and 5524// metadata. 5525type GoogleCloudVisionV1p2beta1InputConfig struct { 5526 // Content: File content, represented as a stream of bytes. 5527 // Note: As with all `bytes` fields, protobuffers use a pure 5528 // binary 5529 // representation, whereas JSON representations use base64. 5530 // 5531 // Currently, this field only works for BatchAnnotateFiles requests. It 5532 // does 5533 // not work for AsyncBatchAnnotateFiles requests. 5534 Content string `json:"content,omitempty"` 5535 5536 // GcsSource: The Google Cloud Storage location to read the input from. 5537 GcsSource *GoogleCloudVisionV1p2beta1GcsSource `json:"gcsSource,omitempty"` 5538 5539 // MimeType: The type of the file. Currently only "application/pdf", 5540 // "image/tiff" and 5541 // "image/gif" are supported. Wildcards are not supported. 5542 MimeType string `json:"mimeType,omitempty"` 5543 5544 // ForceSendFields is a list of field names (e.g. "Content") to 5545 // unconditionally include in API requests. By default, fields with 5546 // empty values are omitted from API requests. However, any non-pointer, 5547 // non-interface field appearing in ForceSendFields will be sent to the 5548 // server regardless of whether the field is empty or not. This may be 5549 // used to include empty fields in Patch requests. 5550 ForceSendFields []string `json:"-"` 5551 5552 // NullFields is a list of field names (e.g. "Content") to include in 5553 // API requests with the JSON null value. By default, fields with empty 5554 // values are omitted from API requests. However, any field with an 5555 // empty value appearing in NullFields will be sent to the server as 5556 // null. It is an error if a field in this list has a non-empty value. 5557 // This may be used to include null fields in Patch requests. 5558 NullFields []string `json:"-"` 5559} 5560 5561func (s *GoogleCloudVisionV1p2beta1InputConfig) MarshalJSON() ([]byte, error) { 5562 type NoMethod GoogleCloudVisionV1p2beta1InputConfig 5563 raw := NoMethod(*s) 5564 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5565} 5566 5567// GoogleCloudVisionV1p2beta1LatLongRect: Rectangle determined by min 5568// and max `LatLng` pairs. 5569type GoogleCloudVisionV1p2beta1LatLongRect struct { 5570 // MaxLatLng: Max lat/long pair. 5571 MaxLatLng *LatLng `json:"maxLatLng,omitempty"` 5572 5573 // MinLatLng: Min lat/long pair. 5574 MinLatLng *LatLng `json:"minLatLng,omitempty"` 5575 5576 // ForceSendFields is a list of field names (e.g. "MaxLatLng") to 5577 // unconditionally include in API requests. By default, fields with 5578 // empty values are omitted from API requests. However, any non-pointer, 5579 // non-interface field appearing in ForceSendFields will be sent to the 5580 // server regardless of whether the field is empty or not. This may be 5581 // used to include empty fields in Patch requests. 5582 ForceSendFields []string `json:"-"` 5583 5584 // NullFields is a list of field names (e.g. "MaxLatLng") to include in 5585 // API requests with the JSON null value. By default, fields with empty 5586 // values are omitted from API requests. However, any field with an 5587 // empty value appearing in NullFields will be sent to the server as 5588 // null. It is an error if a field in this list has a non-empty value. 5589 // This may be used to include null fields in Patch requests. 5590 NullFields []string `json:"-"` 5591} 5592 5593func (s *GoogleCloudVisionV1p2beta1LatLongRect) MarshalJSON() ([]byte, error) { 5594 type NoMethod GoogleCloudVisionV1p2beta1LatLongRect 5595 raw := NoMethod(*s) 5596 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5597} 5598 5599// GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation: Set of detected 5600// objects with bounding boxes. 5601type GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation struct { 5602 // BoundingPoly: Image region to which this object belongs. This must be 5603 // populated. 5604 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 5605 5606 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 5607 // For more 5608 // information, 5609 // see 5610 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 5611 LanguageCode string `json:"languageCode,omitempty"` 5612 5613 // Mid: Object ID that should align with EntityAnnotation mid. 5614 Mid string `json:"mid,omitempty"` 5615 5616 // Name: Object name, expressed in its `language_code` language. 5617 Name string `json:"name,omitempty"` 5618 5619 // Score: Score of the result. Range [0, 1]. 5620 Score float64 `json:"score,omitempty"` 5621 5622 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 5623 // unconditionally include in API requests. By default, fields with 5624 // empty values are omitted from API requests. However, any non-pointer, 5625 // non-interface field appearing in ForceSendFields will be sent to the 5626 // server regardless of whether the field is empty or not. This may be 5627 // used to include empty fields in Patch requests. 5628 ForceSendFields []string `json:"-"` 5629 5630 // NullFields is a list of field names (e.g. "BoundingPoly") to include 5631 // in API requests with the JSON null value. By default, fields with 5632 // empty values are omitted from API requests. However, any field with 5633 // an empty value appearing in NullFields will be sent to the server as 5634 // null. It is an error if a field in this list has a non-empty value. 5635 // This may be used to include null fields in Patch requests. 5636 NullFields []string `json:"-"` 5637} 5638 5639func (s *GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 5640 type NoMethod GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation 5641 raw := NoMethod(*s) 5642 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5643} 5644 5645func (s *GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 5646 type NoMethod GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation 5647 var s1 struct { 5648 Score gensupport.JSONFloat64 `json:"score"` 5649 *NoMethod 5650 } 5651 s1.NoMethod = (*NoMethod)(s) 5652 if err := json.Unmarshal(data, &s1); err != nil { 5653 return err 5654 } 5655 s.Score = float64(s1.Score) 5656 return nil 5657} 5658 5659// GoogleCloudVisionV1p2beta1LocationInfo: Detected entity location 5660// information. 5661type GoogleCloudVisionV1p2beta1LocationInfo struct { 5662 // LatLng: lat/long location coordinates. 5663 LatLng *LatLng `json:"latLng,omitempty"` 5664 5665 // ForceSendFields is a list of field names (e.g. "LatLng") to 5666 // unconditionally include in API requests. By default, fields with 5667 // empty values are omitted from API requests. However, any non-pointer, 5668 // non-interface field appearing in ForceSendFields will be sent to the 5669 // server regardless of whether the field is empty or not. This may be 5670 // used to include empty fields in Patch requests. 5671 ForceSendFields []string `json:"-"` 5672 5673 // NullFields is a list of field names (e.g. "LatLng") to include in API 5674 // requests with the JSON null value. By default, fields with empty 5675 // values are omitted from API requests. However, any field with an 5676 // empty value appearing in NullFields will be sent to the server as 5677 // null. It is an error if a field in this list has a non-empty value. 5678 // This may be used to include null fields in Patch requests. 5679 NullFields []string `json:"-"` 5680} 5681 5682func (s *GoogleCloudVisionV1p2beta1LocationInfo) MarshalJSON() ([]byte, error) { 5683 type NoMethod GoogleCloudVisionV1p2beta1LocationInfo 5684 raw := NoMethod(*s) 5685 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5686} 5687 5688// GoogleCloudVisionV1p2beta1NormalizedVertex: A vertex represents a 2D 5689// point in the image. 5690// NOTE: the normalized vertex coordinates are relative to the original 5691// image 5692// and range from 0 to 1. 5693type GoogleCloudVisionV1p2beta1NormalizedVertex struct { 5694 // X: X coordinate. 5695 X float64 `json:"x,omitempty"` 5696 5697 // Y: Y coordinate. 5698 Y float64 `json:"y,omitempty"` 5699 5700 // ForceSendFields is a list of field names (e.g. "X") to 5701 // unconditionally include in API requests. By default, fields with 5702 // empty values are omitted from API requests. However, any non-pointer, 5703 // non-interface field appearing in ForceSendFields will be sent to the 5704 // server regardless of whether the field is empty or not. This may be 5705 // used to include empty fields in Patch requests. 5706 ForceSendFields []string `json:"-"` 5707 5708 // NullFields is a list of field names (e.g. "X") to include in API 5709 // requests with the JSON null value. By default, fields with empty 5710 // values are omitted from API requests. However, any field with an 5711 // empty value appearing in NullFields will be sent to the server as 5712 // null. It is an error if a field in this list has a non-empty value. 5713 // This may be used to include null fields in Patch requests. 5714 NullFields []string `json:"-"` 5715} 5716 5717func (s *GoogleCloudVisionV1p2beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 5718 type NoMethod GoogleCloudVisionV1p2beta1NormalizedVertex 5719 raw := NoMethod(*s) 5720 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5721} 5722 5723func (s *GoogleCloudVisionV1p2beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 5724 type NoMethod GoogleCloudVisionV1p2beta1NormalizedVertex 5725 var s1 struct { 5726 X gensupport.JSONFloat64 `json:"x"` 5727 Y gensupport.JSONFloat64 `json:"y"` 5728 *NoMethod 5729 } 5730 s1.NoMethod = (*NoMethod)(s) 5731 if err := json.Unmarshal(data, &s1); err != nil { 5732 return err 5733 } 5734 s.X = float64(s1.X) 5735 s.Y = float64(s1.Y) 5736 return nil 5737} 5738 5739// GoogleCloudVisionV1p2beta1OperationMetadata: Contains metadata for 5740// the BatchAnnotateImages operation. 5741type GoogleCloudVisionV1p2beta1OperationMetadata struct { 5742 // CreateTime: The time when the batch request was received. 5743 CreateTime string `json:"createTime,omitempty"` 5744 5745 // State: Current state of the batch operation. 5746 // 5747 // Possible values: 5748 // "STATE_UNSPECIFIED" - Invalid. 5749 // "CREATED" - Request is received. 5750 // "RUNNING" - Request is actively being processed. 5751 // "DONE" - The batch processing is done. 5752 // "CANCELLED" - The batch processing was cancelled. 5753 State string `json:"state,omitempty"` 5754 5755 // UpdateTime: The time when the operation result was last updated. 5756 UpdateTime string `json:"updateTime,omitempty"` 5757 5758 // ForceSendFields is a list of field names (e.g. "CreateTime") to 5759 // unconditionally include in API requests. By default, fields with 5760 // empty values are omitted from API requests. However, any non-pointer, 5761 // non-interface field appearing in ForceSendFields will be sent to the 5762 // server regardless of whether the field is empty or not. This may be 5763 // used to include empty fields in Patch requests. 5764 ForceSendFields []string `json:"-"` 5765 5766 // NullFields is a list of field names (e.g. "CreateTime") to include in 5767 // API requests with the JSON null value. By default, fields with empty 5768 // values are omitted from API requests. However, any field with an 5769 // empty value appearing in NullFields will be sent to the server as 5770 // null. It is an error if a field in this list has a non-empty value. 5771 // This may be used to include null fields in Patch requests. 5772 NullFields []string `json:"-"` 5773} 5774 5775func (s *GoogleCloudVisionV1p2beta1OperationMetadata) MarshalJSON() ([]byte, error) { 5776 type NoMethod GoogleCloudVisionV1p2beta1OperationMetadata 5777 raw := NoMethod(*s) 5778 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5779} 5780 5781// GoogleCloudVisionV1p2beta1OutputConfig: The desired output location 5782// and metadata. 5783type GoogleCloudVisionV1p2beta1OutputConfig struct { 5784 // BatchSize: The max number of response protos to put into each output 5785 // JSON file on 5786 // Google Cloud Storage. 5787 // The valid range is [1, 100]. If not specified, the default value is 5788 // 20. 5789 // 5790 // For example, for one pdf file with 100 pages, 100 response protos 5791 // will 5792 // be generated. If `batch_size` = 20, then 5 json files each 5793 // containing 20 response protos will be written under the 5794 // prefix 5795 // `gcs_destination`.`uri`. 5796 // 5797 // Currently, batch_size only applies to GcsDestination, with potential 5798 // future 5799 // support for other output configurations. 5800 BatchSize int64 `json:"batchSize,omitempty"` 5801 5802 // GcsDestination: The Google Cloud Storage location to write the 5803 // output(s) to. 5804 GcsDestination *GoogleCloudVisionV1p2beta1GcsDestination `json:"gcsDestination,omitempty"` 5805 5806 // ForceSendFields is a list of field names (e.g. "BatchSize") to 5807 // unconditionally include in API requests. By default, fields with 5808 // empty values are omitted from API requests. However, any non-pointer, 5809 // non-interface field appearing in ForceSendFields will be sent to the 5810 // server regardless of whether the field is empty or not. This may be 5811 // used to include empty fields in Patch requests. 5812 ForceSendFields []string `json:"-"` 5813 5814 // NullFields is a list of field names (e.g. "BatchSize") to include in 5815 // API requests with the JSON null value. By default, fields with empty 5816 // values are omitted from API requests. However, any field with an 5817 // empty value appearing in NullFields will be sent to the server as 5818 // null. It is an error if a field in this list has a non-empty value. 5819 // This may be used to include null fields in Patch requests. 5820 NullFields []string `json:"-"` 5821} 5822 5823func (s *GoogleCloudVisionV1p2beta1OutputConfig) MarshalJSON() ([]byte, error) { 5824 type NoMethod GoogleCloudVisionV1p2beta1OutputConfig 5825 raw := NoMethod(*s) 5826 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5827} 5828 5829// GoogleCloudVisionV1p2beta1Page: Detected page from OCR. 5830type GoogleCloudVisionV1p2beta1Page struct { 5831 // Blocks: List of blocks of text, images etc on this page. 5832 Blocks []*GoogleCloudVisionV1p2beta1Block `json:"blocks,omitempty"` 5833 5834 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 5835 Confidence float64 `json:"confidence,omitempty"` 5836 5837 // Height: Page height. For PDFs the unit is points. For images 5838 // (including 5839 // TIFFs) the unit is pixels. 5840 Height int64 `json:"height,omitempty"` 5841 5842 // Property: Additional information detected on the page. 5843 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 5844 5845 // Width: Page width. For PDFs the unit is points. For images 5846 // (including 5847 // TIFFs) the unit is pixels. 5848 Width int64 `json:"width,omitempty"` 5849 5850 // ForceSendFields is a list of field names (e.g. "Blocks") to 5851 // unconditionally include in API requests. By default, fields with 5852 // empty values are omitted from API requests. However, any non-pointer, 5853 // non-interface field appearing in ForceSendFields will be sent to the 5854 // server regardless of whether the field is empty or not. This may be 5855 // used to include empty fields in Patch requests. 5856 ForceSendFields []string `json:"-"` 5857 5858 // NullFields is a list of field names (e.g. "Blocks") to include in API 5859 // requests with the JSON null value. By default, fields with empty 5860 // values are omitted from API requests. However, any field with an 5861 // empty value appearing in NullFields will be sent to the server as 5862 // null. It is an error if a field in this list has a non-empty value. 5863 // This may be used to include null fields in Patch requests. 5864 NullFields []string `json:"-"` 5865} 5866 5867func (s *GoogleCloudVisionV1p2beta1Page) MarshalJSON() ([]byte, error) { 5868 type NoMethod GoogleCloudVisionV1p2beta1Page 5869 raw := NoMethod(*s) 5870 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5871} 5872 5873func (s *GoogleCloudVisionV1p2beta1Page) UnmarshalJSON(data []byte) error { 5874 type NoMethod GoogleCloudVisionV1p2beta1Page 5875 var s1 struct { 5876 Confidence gensupport.JSONFloat64 `json:"confidence"` 5877 *NoMethod 5878 } 5879 s1.NoMethod = (*NoMethod)(s) 5880 if err := json.Unmarshal(data, &s1); err != nil { 5881 return err 5882 } 5883 s.Confidence = float64(s1.Confidence) 5884 return nil 5885} 5886 5887// GoogleCloudVisionV1p2beta1Paragraph: Structural unit of text 5888// representing a number of words in certain order. 5889type GoogleCloudVisionV1p2beta1Paragraph struct { 5890 // BoundingBox: The bounding box for the paragraph. 5891 // The vertices are in the order of top-left, top-right, 5892 // bottom-right, 5893 // bottom-left. When a rotation of the bounding box is detected the 5894 // rotation 5895 // is represented as around the top-left corner as defined when the text 5896 // is 5897 // read in the 'natural' orientation. 5898 // For example: 5899 // * when the text is horizontal it might look like: 5900 // 0----1 5901 // | | 5902 // 3----2 5903 // * when it's rotated 180 degrees around the top-left corner it 5904 // becomes: 5905 // 2----3 5906 // | | 5907 // 1----0 5908 // and the vertex order will still be (0, 1, 2, 3). 5909 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 5910 5911 // Confidence: Confidence of the OCR results for the paragraph. Range 5912 // [0, 1]. 5913 Confidence float64 `json:"confidence,omitempty"` 5914 5915 // Property: Additional information detected for the paragraph. 5916 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 5917 5918 // Words: List of words in this paragraph. 5919 Words []*GoogleCloudVisionV1p2beta1Word `json:"words,omitempty"` 5920 5921 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 5922 // unconditionally include in API requests. By default, fields with 5923 // empty values are omitted from API requests. However, any non-pointer, 5924 // non-interface field appearing in ForceSendFields will be sent to the 5925 // server regardless of whether the field is empty or not. This may be 5926 // used to include empty fields in Patch requests. 5927 ForceSendFields []string `json:"-"` 5928 5929 // NullFields is a list of field names (e.g. "BoundingBox") to include 5930 // in API requests with the JSON null value. By default, fields with 5931 // empty values are omitted from API requests. However, any field with 5932 // an empty value appearing in NullFields will be sent to the server as 5933 // null. It is an error if a field in this list has a non-empty value. 5934 // This may be used to include null fields in Patch requests. 5935 NullFields []string `json:"-"` 5936} 5937 5938func (s *GoogleCloudVisionV1p2beta1Paragraph) MarshalJSON() ([]byte, error) { 5939 type NoMethod GoogleCloudVisionV1p2beta1Paragraph 5940 raw := NoMethod(*s) 5941 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5942} 5943 5944func (s *GoogleCloudVisionV1p2beta1Paragraph) UnmarshalJSON(data []byte) error { 5945 type NoMethod GoogleCloudVisionV1p2beta1Paragraph 5946 var s1 struct { 5947 Confidence gensupport.JSONFloat64 `json:"confidence"` 5948 *NoMethod 5949 } 5950 s1.NoMethod = (*NoMethod)(s) 5951 if err := json.Unmarshal(data, &s1); err != nil { 5952 return err 5953 } 5954 s.Confidence = float64(s1.Confidence) 5955 return nil 5956} 5957 5958// GoogleCloudVisionV1p2beta1Position: A 3D position in the image, used 5959// primarily for Face detection landmarks. 5960// A valid Position must have both x and y coordinates. 5961// The position coordinates are in the same scale as the original image. 5962type GoogleCloudVisionV1p2beta1Position struct { 5963 // X: X coordinate. 5964 X float64 `json:"x,omitempty"` 5965 5966 // Y: Y coordinate. 5967 Y float64 `json:"y,omitempty"` 5968 5969 // Z: Z coordinate (or depth). 5970 Z float64 `json:"z,omitempty"` 5971 5972 // ForceSendFields is a list of field names (e.g. "X") to 5973 // unconditionally include in API requests. By default, fields with 5974 // empty values are omitted from API requests. However, any non-pointer, 5975 // non-interface field appearing in ForceSendFields will be sent to the 5976 // server regardless of whether the field is empty or not. This may be 5977 // used to include empty fields in Patch requests. 5978 ForceSendFields []string `json:"-"` 5979 5980 // NullFields is a list of field names (e.g. "X") to include in API 5981 // requests with the JSON null value. By default, fields with empty 5982 // values are omitted from API requests. However, any field with an 5983 // empty value appearing in NullFields will be sent to the server as 5984 // null. It is an error if a field in this list has a non-empty value. 5985 // This may be used to include null fields in Patch requests. 5986 NullFields []string `json:"-"` 5987} 5988 5989func (s *GoogleCloudVisionV1p2beta1Position) MarshalJSON() ([]byte, error) { 5990 type NoMethod GoogleCloudVisionV1p2beta1Position 5991 raw := NoMethod(*s) 5992 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 5993} 5994 5995func (s *GoogleCloudVisionV1p2beta1Position) UnmarshalJSON(data []byte) error { 5996 type NoMethod GoogleCloudVisionV1p2beta1Position 5997 var s1 struct { 5998 X gensupport.JSONFloat64 `json:"x"` 5999 Y gensupport.JSONFloat64 `json:"y"` 6000 Z gensupport.JSONFloat64 `json:"z"` 6001 *NoMethod 6002 } 6003 s1.NoMethod = (*NoMethod)(s) 6004 if err := json.Unmarshal(data, &s1); err != nil { 6005 return err 6006 } 6007 s.X = float64(s1.X) 6008 s.Y = float64(s1.Y) 6009 s.Z = float64(s1.Z) 6010 return nil 6011} 6012 6013// GoogleCloudVisionV1p2beta1Product: A Product contains 6014// ReferenceImages. 6015type GoogleCloudVisionV1p2beta1Product struct { 6016 // Description: User-provided metadata to be stored with this product. 6017 // Must be at most 4096 6018 // characters long. 6019 Description string `json:"description,omitempty"` 6020 6021 // DisplayName: The user-provided name for this Product. Must not be 6022 // empty. Must be at most 6023 // 4096 characters long. 6024 DisplayName string `json:"displayName,omitempty"` 6025 6026 // Name: The resource name of the product. 6027 // 6028 // Format 6029 // is: 6030 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 6031 // 6032 // This field is ignored when creating a product. 6033 Name string `json:"name,omitempty"` 6034 6035 // ProductCategory: The category for the product identified by the 6036 // reference image. This should 6037 // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy 6038 // categories 6039 // "homegoods", "apparel", and "toys" are still supported, but these 6040 // should 6041 // not be used for new products. 6042 // 6043 // This field is immutable. 6044 ProductCategory string `json:"productCategory,omitempty"` 6045 6046 // ProductLabels: Key-value pairs that can be attached to a product. At 6047 // query time, 6048 // constraints can be specified based on the product_labels. 6049 // 6050 // Note that integer values can be provided as strings, e.g. "1199". 6051 // Only 6052 // strings with integer values can match a range-based restriction which 6053 // is 6054 // to be supported soon. 6055 // 6056 // Multiple values can be assigned to the same key. One product may have 6057 // up to 6058 // 100 product_labels. 6059 ProductLabels []*GoogleCloudVisionV1p2beta1ProductKeyValue `json:"productLabels,omitempty"` 6060 6061 // ForceSendFields is a list of field names (e.g. "Description") to 6062 // unconditionally include in API requests. By default, fields with 6063 // empty values are omitted from API requests. However, any non-pointer, 6064 // non-interface field appearing in ForceSendFields will be sent to the 6065 // server regardless of whether the field is empty or not. This may be 6066 // used to include empty fields in Patch requests. 6067 ForceSendFields []string `json:"-"` 6068 6069 // NullFields is a list of field names (e.g. "Description") to include 6070 // in API requests with the JSON null value. By default, fields with 6071 // empty values are omitted from API requests. However, any field with 6072 // an empty value appearing in NullFields will be sent to the server as 6073 // null. It is an error if a field in this list has a non-empty value. 6074 // This may be used to include null fields in Patch requests. 6075 NullFields []string `json:"-"` 6076} 6077 6078func (s *GoogleCloudVisionV1p2beta1Product) MarshalJSON() ([]byte, error) { 6079 type NoMethod GoogleCloudVisionV1p2beta1Product 6080 raw := NoMethod(*s) 6081 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6082} 6083 6084// GoogleCloudVisionV1p2beta1ProductKeyValue: A product label 6085// represented as a key-value pair. 6086type GoogleCloudVisionV1p2beta1ProductKeyValue struct { 6087 // Key: The key of the label attached to the product. Cannot be empty 6088 // and cannot 6089 // exceed 128 bytes. 6090 Key string `json:"key,omitempty"` 6091 6092 // Value: The value of the label attached to the product. Cannot be 6093 // empty and 6094 // cannot exceed 128 bytes. 6095 Value string `json:"value,omitempty"` 6096 6097 // ForceSendFields is a list of field names (e.g. "Key") to 6098 // unconditionally include in API requests. By default, fields with 6099 // empty values are omitted from API requests. However, any non-pointer, 6100 // non-interface field appearing in ForceSendFields will be sent to the 6101 // server regardless of whether the field is empty or not. This may be 6102 // used to include empty fields in Patch requests. 6103 ForceSendFields []string `json:"-"` 6104 6105 // NullFields is a list of field names (e.g. "Key") to include in API 6106 // requests with the JSON null value. By default, fields with empty 6107 // values are omitted from API requests. However, any field with an 6108 // empty value appearing in NullFields will be sent to the server as 6109 // null. It is an error if a field in this list has a non-empty value. 6110 // This may be used to include null fields in Patch requests. 6111 NullFields []string `json:"-"` 6112} 6113 6114func (s *GoogleCloudVisionV1p2beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 6115 type NoMethod GoogleCloudVisionV1p2beta1ProductKeyValue 6116 raw := NoMethod(*s) 6117 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6118} 6119 6120// GoogleCloudVisionV1p2beta1ProductSearchParams: Parameters for a 6121// product search request. 6122type GoogleCloudVisionV1p2beta1ProductSearchParams struct { 6123 // BoundingPoly: The bounding polygon around the area of interest in the 6124 // image. 6125 // Optional. If it is not specified, system discretion will be applied. 6126 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 6127 6128 // Filter: The filtering expression. This can be used to restrict search 6129 // results based 6130 // on Product labels. We currently support an AND of OR of 6131 // key-value 6132 // expressions, where each expression within an OR must have the same 6133 // key. An 6134 // '=' should be used to connect the key and value. 6135 // 6136 // For example, "(color = red OR color = blue) AND brand = Google" 6137 // is 6138 // acceptable, but "(color = red OR brand = Google)" is not 6139 // acceptable. 6140 // "color: red" is not acceptable because it uses a ':' instead of an 6141 // '='. 6142 Filter string `json:"filter,omitempty"` 6143 6144 // ProductCategories: The list of product categories to search in. 6145 // Currently, we only consider 6146 // the first category, and either "homegoods-v2", "apparel-v2", or 6147 // "toys-v2" 6148 // should be specified. The legacy categories "homegoods", "apparel", 6149 // and 6150 // "toys" are still supported but will be deprecated. For new products, 6151 // please 6152 // use "homegoods-v2", "apparel-v2", or "toys-v2" for better product 6153 // search 6154 // accuracy. It is recommended to migrate existing products to 6155 // these 6156 // categories as well. 6157 ProductCategories []string `json:"productCategories,omitempty"` 6158 6159 // ProductSet: The resource name of a ProductSet to be searched for 6160 // similar images. 6161 // 6162 // Format 6163 // is: 6164 // `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`. 6165 ProductSet string `json:"productSet,omitempty"` 6166 6167 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 6168 // unconditionally include in API requests. By default, fields with 6169 // empty values are omitted from API requests. However, any non-pointer, 6170 // non-interface field appearing in ForceSendFields will be sent to the 6171 // server regardless of whether the field is empty or not. This may be 6172 // used to include empty fields in Patch requests. 6173 ForceSendFields []string `json:"-"` 6174 6175 // NullFields is a list of field names (e.g. "BoundingPoly") to include 6176 // in API requests with the JSON null value. By default, fields with 6177 // empty values are omitted from API requests. However, any field with 6178 // an empty value appearing in NullFields will be sent to the server as 6179 // null. It is an error if a field in this list has a non-empty value. 6180 // This may be used to include null fields in Patch requests. 6181 NullFields []string `json:"-"` 6182} 6183 6184func (s *GoogleCloudVisionV1p2beta1ProductSearchParams) MarshalJSON() ([]byte, error) { 6185 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchParams 6186 raw := NoMethod(*s) 6187 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6188} 6189 6190// GoogleCloudVisionV1p2beta1ProductSearchResults: Results for a product 6191// search request. 6192type GoogleCloudVisionV1p2beta1ProductSearchResults struct { 6193 // IndexTime: Timestamp of the index which provided these results. 6194 // Products added to the 6195 // product set and products removed from the product set after this time 6196 // are 6197 // not reflected in the current results. 6198 IndexTime string `json:"indexTime,omitempty"` 6199 6200 // ProductGroupedResults: List of results grouped by products detected 6201 // in the query image. Each entry 6202 // corresponds to one bounding polygon in the query image, and contains 6203 // the 6204 // matching products specific to that region. There may be duplicate 6205 // product 6206 // matches in the union of all the per-product results. 6207 ProductGroupedResults []*GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 6208 6209 // Results: List of results, one for each product match. 6210 Results []*GoogleCloudVisionV1p2beta1ProductSearchResultsResult `json:"results,omitempty"` 6211 6212 // ForceSendFields is a list of field names (e.g. "IndexTime") to 6213 // unconditionally include in API requests. By default, fields with 6214 // empty values are omitted from API requests. However, any non-pointer, 6215 // non-interface field appearing in ForceSendFields will be sent to the 6216 // server regardless of whether the field is empty or not. This may be 6217 // used to include empty fields in Patch requests. 6218 ForceSendFields []string `json:"-"` 6219 6220 // NullFields is a list of field names (e.g. "IndexTime") to include in 6221 // API requests with the JSON null value. By default, fields with empty 6222 // values are omitted from API requests. However, any field with an 6223 // empty value appearing in NullFields will be sent to the server as 6224 // null. It is an error if a field in this list has a non-empty value. 6225 // This may be used to include null fields in Patch requests. 6226 NullFields []string `json:"-"` 6227} 6228 6229func (s *GoogleCloudVisionV1p2beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 6230 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResults 6231 raw := NoMethod(*s) 6232 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6233} 6234 6235// GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult: 6236// Information about the products similar to a single product in a 6237// query 6238// image. 6239type GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult struct { 6240 // BoundingPoly: The bounding polygon around the product detected in the 6241 // query image. 6242 BoundingPoly *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingPoly,omitempty"` 6243 6244 // Results: List of results, one for each product match. 6245 Results []*GoogleCloudVisionV1p2beta1ProductSearchResultsResult `json:"results,omitempty"` 6246 6247 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 6248 // unconditionally include in API requests. By default, fields with 6249 // empty values are omitted from API requests. However, any non-pointer, 6250 // non-interface field appearing in ForceSendFields will be sent to the 6251 // server regardless of whether the field is empty or not. This may be 6252 // used to include empty fields in Patch requests. 6253 ForceSendFields []string `json:"-"` 6254 6255 // NullFields is a list of field names (e.g. "BoundingPoly") to include 6256 // in API requests with the JSON null value. By default, fields with 6257 // empty values are omitted from API requests. However, any field with 6258 // an empty value appearing in NullFields will be sent to the server as 6259 // null. It is an error if a field in this list has a non-empty value. 6260 // This may be used to include null fields in Patch requests. 6261 NullFields []string `json:"-"` 6262} 6263 6264func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 6265 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult 6266 raw := NoMethod(*s) 6267 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6268} 6269 6270// GoogleCloudVisionV1p2beta1ProductSearchResultsResult: Information 6271// about a product. 6272type GoogleCloudVisionV1p2beta1ProductSearchResultsResult struct { 6273 // Image: The resource name of the image from the product that is the 6274 // closest match 6275 // to the query. 6276 Image string `json:"image,omitempty"` 6277 6278 // Product: The Product. 6279 Product *GoogleCloudVisionV1p2beta1Product `json:"product,omitempty"` 6280 6281 // Score: A confidence level on the match, ranging from 0 (no 6282 // confidence) to 6283 // 1 (full confidence). 6284 Score float64 `json:"score,omitempty"` 6285 6286 // ForceSendFields is a list of field names (e.g. "Image") to 6287 // unconditionally include in API requests. By default, fields with 6288 // empty values are omitted from API requests. However, any non-pointer, 6289 // non-interface field appearing in ForceSendFields will be sent to the 6290 // server regardless of whether the field is empty or not. This may be 6291 // used to include empty fields in Patch requests. 6292 ForceSendFields []string `json:"-"` 6293 6294 // NullFields is a list of field names (e.g. "Image") to include in API 6295 // requests with the JSON null value. By default, fields with empty 6296 // values are omitted from API requests. However, any field with an 6297 // empty value appearing in NullFields will be sent to the server as 6298 // null. It is an error if a field in this list has a non-empty value. 6299 // This may be used to include null fields in Patch requests. 6300 NullFields []string `json:"-"` 6301} 6302 6303func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 6304 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsResult 6305 raw := NoMethod(*s) 6306 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6307} 6308 6309func (s *GoogleCloudVisionV1p2beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 6310 type NoMethod GoogleCloudVisionV1p2beta1ProductSearchResultsResult 6311 var s1 struct { 6312 Score gensupport.JSONFloat64 `json:"score"` 6313 *NoMethod 6314 } 6315 s1.NoMethod = (*NoMethod)(s) 6316 if err := json.Unmarshal(data, &s1); err != nil { 6317 return err 6318 } 6319 s.Score = float64(s1.Score) 6320 return nil 6321} 6322 6323// GoogleCloudVisionV1p2beta1Property: A `Property` consists of a 6324// user-supplied name/value pair. 6325type GoogleCloudVisionV1p2beta1Property struct { 6326 // Name: Name of the property. 6327 Name string `json:"name,omitempty"` 6328 6329 // Uint64Value: Value of numeric properties. 6330 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 6331 6332 // Value: Value of the property. 6333 Value string `json:"value,omitempty"` 6334 6335 // ForceSendFields is a list of field names (e.g. "Name") to 6336 // unconditionally include in API requests. By default, fields with 6337 // empty values are omitted from API requests. However, any non-pointer, 6338 // non-interface field appearing in ForceSendFields will be sent to the 6339 // server regardless of whether the field is empty or not. This may be 6340 // used to include empty fields in Patch requests. 6341 ForceSendFields []string `json:"-"` 6342 6343 // NullFields is a list of field names (e.g. "Name") to include in API 6344 // requests with the JSON null value. By default, fields with empty 6345 // values are omitted from API requests. However, any field with an 6346 // empty value appearing in NullFields will be sent to the server as 6347 // null. It is an error if a field in this list has a non-empty value. 6348 // This may be used to include null fields in Patch requests. 6349 NullFields []string `json:"-"` 6350} 6351 6352func (s *GoogleCloudVisionV1p2beta1Property) MarshalJSON() ([]byte, error) { 6353 type NoMethod GoogleCloudVisionV1p2beta1Property 6354 raw := NoMethod(*s) 6355 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6356} 6357 6358// GoogleCloudVisionV1p2beta1SafeSearchAnnotation: Set of features 6359// pertaining to the image, computed by computer vision 6360// methods over safe-search verticals (for example, adult, spoof, 6361// medical, 6362// violence). 6363type GoogleCloudVisionV1p2beta1SafeSearchAnnotation struct { 6364 // Adult: Represents the adult content likelihood for the image. Adult 6365 // content may 6366 // contain elements such as nudity, pornographic images or cartoons, 6367 // or 6368 // sexual activities. 6369 // 6370 // Possible values: 6371 // "UNKNOWN" - Unknown likelihood. 6372 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 6373 // specified vertical. 6374 // "UNLIKELY" - It is unlikely that the image belongs to the specified 6375 // vertical. 6376 // "POSSIBLE" - It is possible that the image belongs to the specified 6377 // vertical. 6378 // "LIKELY" - It is likely that the image belongs to the specified 6379 // vertical. 6380 // "VERY_LIKELY" - It is very likely that the image belongs to the 6381 // specified vertical. 6382 Adult string `json:"adult,omitempty"` 6383 6384 // Medical: Likelihood that this is a medical image. 6385 // 6386 // Possible values: 6387 // "UNKNOWN" - Unknown likelihood. 6388 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 6389 // specified vertical. 6390 // "UNLIKELY" - It is unlikely that the image belongs to the specified 6391 // vertical. 6392 // "POSSIBLE" - It is possible that the image belongs to the specified 6393 // vertical. 6394 // "LIKELY" - It is likely that the image belongs to the specified 6395 // vertical. 6396 // "VERY_LIKELY" - It is very likely that the image belongs to the 6397 // specified vertical. 6398 Medical string `json:"medical,omitempty"` 6399 6400 // Racy: Likelihood that the request image contains racy content. Racy 6401 // content may 6402 // include (but is not limited to) skimpy or sheer clothing, 6403 // strategically 6404 // covered nudity, lewd or provocative poses, or close-ups of 6405 // sensitive 6406 // body areas. 6407 // 6408 // Possible values: 6409 // "UNKNOWN" - Unknown likelihood. 6410 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 6411 // specified vertical. 6412 // "UNLIKELY" - It is unlikely that the image belongs to the specified 6413 // vertical. 6414 // "POSSIBLE" - It is possible that the image belongs to the specified 6415 // vertical. 6416 // "LIKELY" - It is likely that the image belongs to the specified 6417 // vertical. 6418 // "VERY_LIKELY" - It is very likely that the image belongs to the 6419 // specified vertical. 6420 Racy string `json:"racy,omitempty"` 6421 6422 // Spoof: Spoof likelihood. The likelihood that an modification 6423 // was made to the image's canonical version to make it appear 6424 // funny or offensive. 6425 // 6426 // Possible values: 6427 // "UNKNOWN" - Unknown likelihood. 6428 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 6429 // specified vertical. 6430 // "UNLIKELY" - It is unlikely that the image belongs to the specified 6431 // vertical. 6432 // "POSSIBLE" - It is possible that the image belongs to the specified 6433 // vertical. 6434 // "LIKELY" - It is likely that the image belongs to the specified 6435 // vertical. 6436 // "VERY_LIKELY" - It is very likely that the image belongs to the 6437 // specified vertical. 6438 Spoof string `json:"spoof,omitempty"` 6439 6440 // Violence: Likelihood that this image contains violent content. 6441 // 6442 // Possible values: 6443 // "UNKNOWN" - Unknown likelihood. 6444 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 6445 // specified vertical. 6446 // "UNLIKELY" - It is unlikely that the image belongs to the specified 6447 // vertical. 6448 // "POSSIBLE" - It is possible that the image belongs to the specified 6449 // vertical. 6450 // "LIKELY" - It is likely that the image belongs to the specified 6451 // vertical. 6452 // "VERY_LIKELY" - It is very likely that the image belongs to the 6453 // specified vertical. 6454 Violence string `json:"violence,omitempty"` 6455 6456 // ForceSendFields is a list of field names (e.g. "Adult") to 6457 // unconditionally include in API requests. By default, fields with 6458 // empty values are omitted from API requests. However, any non-pointer, 6459 // non-interface field appearing in ForceSendFields will be sent to the 6460 // server regardless of whether the field is empty or not. This may be 6461 // used to include empty fields in Patch requests. 6462 ForceSendFields []string `json:"-"` 6463 6464 // NullFields is a list of field names (e.g. "Adult") to include in API 6465 // requests with the JSON null value. By default, fields with empty 6466 // values are omitted from API requests. However, any field with an 6467 // empty value appearing in NullFields will be sent to the server as 6468 // null. It is an error if a field in this list has a non-empty value. 6469 // This may be used to include null fields in Patch requests. 6470 NullFields []string `json:"-"` 6471} 6472 6473func (s *GoogleCloudVisionV1p2beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 6474 type NoMethod GoogleCloudVisionV1p2beta1SafeSearchAnnotation 6475 raw := NoMethod(*s) 6476 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6477} 6478 6479// GoogleCloudVisionV1p2beta1Symbol: A single symbol representation. 6480type GoogleCloudVisionV1p2beta1Symbol struct { 6481 // BoundingBox: The bounding box for the symbol. 6482 // The vertices are in the order of top-left, top-right, 6483 // bottom-right, 6484 // bottom-left. When a rotation of the bounding box is detected the 6485 // rotation 6486 // is represented as around the top-left corner as defined when the text 6487 // is 6488 // read in the 'natural' orientation. 6489 // For example: 6490 // * when the text is horizontal it might look like: 6491 // 0----1 6492 // | | 6493 // 3----2 6494 // * when it's rotated 180 degrees around the top-left corner it 6495 // becomes: 6496 // 2----3 6497 // | | 6498 // 1----0 6499 // and the vertice order will still be (0, 1, 2, 3). 6500 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 6501 6502 // Confidence: Confidence of the OCR results for the symbol. Range [0, 6503 // 1]. 6504 Confidence float64 `json:"confidence,omitempty"` 6505 6506 // Property: Additional information detected for the symbol. 6507 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 6508 6509 // Text: The actual UTF-8 representation of the symbol. 6510 Text string `json:"text,omitempty"` 6511 6512 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 6513 // unconditionally include in API requests. By default, fields with 6514 // empty values are omitted from API requests. However, any non-pointer, 6515 // non-interface field appearing in ForceSendFields will be sent to the 6516 // server regardless of whether the field is empty or not. This may be 6517 // used to include empty fields in Patch requests. 6518 ForceSendFields []string `json:"-"` 6519 6520 // NullFields is a list of field names (e.g. "BoundingBox") to include 6521 // in API requests with the JSON null value. By default, fields with 6522 // empty values are omitted from API requests. However, any field with 6523 // an empty value appearing in NullFields will be sent to the server as 6524 // null. It is an error if a field in this list has a non-empty value. 6525 // This may be used to include null fields in Patch requests. 6526 NullFields []string `json:"-"` 6527} 6528 6529func (s *GoogleCloudVisionV1p2beta1Symbol) MarshalJSON() ([]byte, error) { 6530 type NoMethod GoogleCloudVisionV1p2beta1Symbol 6531 raw := NoMethod(*s) 6532 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6533} 6534 6535func (s *GoogleCloudVisionV1p2beta1Symbol) UnmarshalJSON(data []byte) error { 6536 type NoMethod GoogleCloudVisionV1p2beta1Symbol 6537 var s1 struct { 6538 Confidence gensupport.JSONFloat64 `json:"confidence"` 6539 *NoMethod 6540 } 6541 s1.NoMethod = (*NoMethod)(s) 6542 if err := json.Unmarshal(data, &s1); err != nil { 6543 return err 6544 } 6545 s.Confidence = float64(s1.Confidence) 6546 return nil 6547} 6548 6549// GoogleCloudVisionV1p2beta1TextAnnotation: TextAnnotation contains a 6550// structured representation of OCR extracted text. 6551// The hierarchy of an OCR extracted text structure is like this: 6552// TextAnnotation -> Page -> Block -> Paragraph -> Word -> 6553// Symbol 6554// Each structural component, starting from Page, may further have their 6555// own 6556// properties. Properties describe detected languages, breaks etc.. 6557// Please refer 6558// to the TextAnnotation.TextProperty message definition below for 6559// more 6560// detail. 6561type GoogleCloudVisionV1p2beta1TextAnnotation struct { 6562 // Pages: List of pages detected by OCR. 6563 Pages []*GoogleCloudVisionV1p2beta1Page `json:"pages,omitempty"` 6564 6565 // Text: UTF-8 text detected on the pages. 6566 Text string `json:"text,omitempty"` 6567 6568 // ForceSendFields is a list of field names (e.g. "Pages") to 6569 // unconditionally include in API requests. By default, fields with 6570 // empty values are omitted from API requests. However, any non-pointer, 6571 // non-interface field appearing in ForceSendFields will be sent to the 6572 // server regardless of whether the field is empty or not. This may be 6573 // used to include empty fields in Patch requests. 6574 ForceSendFields []string `json:"-"` 6575 6576 // NullFields is a list of field names (e.g. "Pages") to include in API 6577 // requests with the JSON null value. By default, fields with empty 6578 // values are omitted from API requests. However, any field with an 6579 // empty value appearing in NullFields will be sent to the server as 6580 // null. It is an error if a field in this list has a non-empty value. 6581 // This may be used to include null fields in Patch requests. 6582 NullFields []string `json:"-"` 6583} 6584 6585func (s *GoogleCloudVisionV1p2beta1TextAnnotation) MarshalJSON() ([]byte, error) { 6586 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotation 6587 raw := NoMethod(*s) 6588 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6589} 6590 6591// GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak: Detected start 6592// or end of a structural component. 6593type GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak struct { 6594 // IsPrefix: True if break prepends the element. 6595 IsPrefix bool `json:"isPrefix,omitempty"` 6596 6597 // Type: Detected break type. 6598 // 6599 // Possible values: 6600 // "UNKNOWN" - Unknown break label type. 6601 // "SPACE" - Regular space. 6602 // "SURE_SPACE" - Sure space (very wide). 6603 // "EOL_SURE_SPACE" - Line-wrapping break. 6604 // "HYPHEN" - End-line hyphen that is not present in text; does not 6605 // co-occur with 6606 // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 6607 // "LINE_BREAK" - Line break that ends a paragraph. 6608 Type string `json:"type,omitempty"` 6609 6610 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 6611 // unconditionally include in API requests. By default, fields with 6612 // empty values are omitted from API requests. However, any non-pointer, 6613 // non-interface field appearing in ForceSendFields will be sent to the 6614 // server regardless of whether the field is empty or not. This may be 6615 // used to include empty fields in Patch requests. 6616 ForceSendFields []string `json:"-"` 6617 6618 // NullFields is a list of field names (e.g. "IsPrefix") to include in 6619 // API requests with the JSON null value. By default, fields with empty 6620 // values are omitted from API requests. However, any field with an 6621 // empty value appearing in NullFields will be sent to the server as 6622 // null. It is an error if a field in this list has a non-empty value. 6623 // This may be used to include null fields in Patch requests. 6624 NullFields []string `json:"-"` 6625} 6626 6627func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 6628 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak 6629 raw := NoMethod(*s) 6630 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6631} 6632 6633// GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage: Detected 6634// language for a structural component. 6635type GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage struct { 6636 // Confidence: Confidence of detected language. Range [0, 1]. 6637 Confidence float64 `json:"confidence,omitempty"` 6638 6639 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 6640 // For more 6641 // information, 6642 // see 6643 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 6644 LanguageCode string `json:"languageCode,omitempty"` 6645 6646 // ForceSendFields is a list of field names (e.g. "Confidence") to 6647 // unconditionally include in API requests. By default, fields with 6648 // empty values are omitted from API requests. However, any non-pointer, 6649 // non-interface field appearing in ForceSendFields will be sent to the 6650 // server regardless of whether the field is empty or not. This may be 6651 // used to include empty fields in Patch requests. 6652 ForceSendFields []string `json:"-"` 6653 6654 // NullFields is a list of field names (e.g. "Confidence") to include in 6655 // API requests with the JSON null value. By default, fields with empty 6656 // values are omitted from API requests. However, any field with an 6657 // empty value appearing in NullFields will be sent to the server as 6658 // null. It is an error if a field in this list has a non-empty value. 6659 // This may be used to include null fields in Patch requests. 6660 NullFields []string `json:"-"` 6661} 6662 6663func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 6664 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage 6665 raw := NoMethod(*s) 6666 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6667} 6668 6669func (s *GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 6670 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage 6671 var s1 struct { 6672 Confidence gensupport.JSONFloat64 `json:"confidence"` 6673 *NoMethod 6674 } 6675 s1.NoMethod = (*NoMethod)(s) 6676 if err := json.Unmarshal(data, &s1); err != nil { 6677 return err 6678 } 6679 s.Confidence = float64(s1.Confidence) 6680 return nil 6681} 6682 6683// GoogleCloudVisionV1p2beta1TextAnnotationTextProperty: Additional 6684// information detected on the structural component. 6685type GoogleCloudVisionV1p2beta1TextAnnotationTextProperty struct { 6686 // DetectedBreak: Detected start or end of a text segment. 6687 DetectedBreak *GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 6688 6689 // DetectedLanguages: A list of detected languages together with 6690 // confidence. 6691 DetectedLanguages []*GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 6692 6693 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 6694 // unconditionally include in API requests. By default, fields with 6695 // empty values are omitted from API requests. However, any non-pointer, 6696 // non-interface field appearing in ForceSendFields will be sent to the 6697 // server regardless of whether the field is empty or not. This may be 6698 // used to include empty fields in Patch requests. 6699 ForceSendFields []string `json:"-"` 6700 6701 // NullFields is a list of field names (e.g. "DetectedBreak") to include 6702 // in API requests with the JSON null value. By default, fields with 6703 // empty values are omitted from API requests. However, any field with 6704 // an empty value appearing in NullFields will be sent to the server as 6705 // null. It is an error if a field in this list has a non-empty value. 6706 // This may be used to include null fields in Patch requests. 6707 NullFields []string `json:"-"` 6708} 6709 6710func (s *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 6711 type NoMethod GoogleCloudVisionV1p2beta1TextAnnotationTextProperty 6712 raw := NoMethod(*s) 6713 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6714} 6715 6716// GoogleCloudVisionV1p2beta1Vertex: A vertex represents a 2D point in 6717// the image. 6718// NOTE: the vertex coordinates are in the same scale as the original 6719// image. 6720type GoogleCloudVisionV1p2beta1Vertex struct { 6721 // X: X coordinate. 6722 X int64 `json:"x,omitempty"` 6723 6724 // Y: Y coordinate. 6725 Y int64 `json:"y,omitempty"` 6726 6727 // ForceSendFields is a list of field names (e.g. "X") to 6728 // unconditionally include in API requests. By default, fields with 6729 // empty values are omitted from API requests. However, any non-pointer, 6730 // non-interface field appearing in ForceSendFields will be sent to the 6731 // server regardless of whether the field is empty or not. This may be 6732 // used to include empty fields in Patch requests. 6733 ForceSendFields []string `json:"-"` 6734 6735 // NullFields is a list of field names (e.g. "X") to include in API 6736 // requests with the JSON null value. By default, fields with empty 6737 // values are omitted from API requests. However, any field with an 6738 // empty value appearing in NullFields will be sent to the server as 6739 // null. It is an error if a field in this list has a non-empty value. 6740 // This may be used to include null fields in Patch requests. 6741 NullFields []string `json:"-"` 6742} 6743 6744func (s *GoogleCloudVisionV1p2beta1Vertex) MarshalJSON() ([]byte, error) { 6745 type NoMethod GoogleCloudVisionV1p2beta1Vertex 6746 raw := NoMethod(*s) 6747 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6748} 6749 6750// GoogleCloudVisionV1p2beta1WebDetection: Relevant information for the 6751// image from the Internet. 6752type GoogleCloudVisionV1p2beta1WebDetection struct { 6753 // BestGuessLabels: The service's best guess as to the topic of the 6754 // request image. 6755 // Inferred from similar images on the open web. 6756 BestGuessLabels []*GoogleCloudVisionV1p2beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 6757 6758 // FullMatchingImages: Fully matching images from the Internet. 6759 // Can include resized copies of the query image. 6760 FullMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 6761 6762 // PagesWithMatchingImages: Web pages containing the matching images 6763 // from the Internet. 6764 PagesWithMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 6765 6766 // PartialMatchingImages: Partial matching images from the 6767 // Internet. 6768 // Those images are similar enough to share some key-point features. 6769 // For 6770 // example an original image will likely have partial matching for its 6771 // crops. 6772 PartialMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 6773 6774 // VisuallySimilarImages: The visually similar image results. 6775 VisuallySimilarImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 6776 6777 // WebEntities: Deduced entities from similar images on the Internet. 6778 WebEntities []*GoogleCloudVisionV1p2beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 6779 6780 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 6781 // unconditionally include in API requests. By default, fields with 6782 // empty values are omitted from API requests. However, any non-pointer, 6783 // non-interface field appearing in ForceSendFields will be sent to the 6784 // server regardless of whether the field is empty or not. This may be 6785 // used to include empty fields in Patch requests. 6786 ForceSendFields []string `json:"-"` 6787 6788 // NullFields is a list of field names (e.g. "BestGuessLabels") to 6789 // include in API requests with the JSON null value. By default, fields 6790 // with empty values are omitted from API requests. However, any field 6791 // with an empty value appearing in NullFields will be sent to the 6792 // server as null. It is an error if a field in this list has a 6793 // non-empty value. This may be used to include null fields in Patch 6794 // requests. 6795 NullFields []string `json:"-"` 6796} 6797 6798func (s *GoogleCloudVisionV1p2beta1WebDetection) MarshalJSON() ([]byte, error) { 6799 type NoMethod GoogleCloudVisionV1p2beta1WebDetection 6800 raw := NoMethod(*s) 6801 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6802} 6803 6804// GoogleCloudVisionV1p2beta1WebDetectionParams: Parameters for web 6805// detection request. 6806type GoogleCloudVisionV1p2beta1WebDetectionParams struct { 6807 // IncludeGeoResults: Whether to include results derived from the geo 6808 // information in the image. 6809 IncludeGeoResults bool `json:"includeGeoResults,omitempty"` 6810 6811 // ForceSendFields is a list of field names (e.g. "IncludeGeoResults") 6812 // to unconditionally include in API requests. By default, fields with 6813 // empty values are omitted from API requests. However, any non-pointer, 6814 // non-interface field appearing in ForceSendFields will be sent to the 6815 // server regardless of whether the field is empty or not. This may be 6816 // used to include empty fields in Patch requests. 6817 ForceSendFields []string `json:"-"` 6818 6819 // NullFields is a list of field names (e.g. "IncludeGeoResults") to 6820 // include in API requests with the JSON null value. By default, fields 6821 // with empty values are omitted from API requests. However, any field 6822 // with an empty value appearing in NullFields will be sent to the 6823 // server as null. It is an error if a field in this list has a 6824 // non-empty value. This may be used to include null fields in Patch 6825 // requests. 6826 NullFields []string `json:"-"` 6827} 6828 6829func (s *GoogleCloudVisionV1p2beta1WebDetectionParams) MarshalJSON() ([]byte, error) { 6830 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionParams 6831 raw := NoMethod(*s) 6832 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6833} 6834 6835// GoogleCloudVisionV1p2beta1WebDetectionWebEntity: Entity deduced from 6836// similar images on the Internet. 6837type GoogleCloudVisionV1p2beta1WebDetectionWebEntity struct { 6838 // Description: Canonical description of the entity, in English. 6839 Description string `json:"description,omitempty"` 6840 6841 // EntityId: Opaque entity ID. 6842 EntityId string `json:"entityId,omitempty"` 6843 6844 // Score: Overall relevancy score for the entity. 6845 // Not normalized and not comparable across different image queries. 6846 Score float64 `json:"score,omitempty"` 6847 6848 // ForceSendFields is a list of field names (e.g. "Description") to 6849 // unconditionally include in API requests. By default, fields with 6850 // empty values are omitted from API requests. However, any non-pointer, 6851 // non-interface field appearing in ForceSendFields will be sent to the 6852 // server regardless of whether the field is empty or not. This may be 6853 // used to include empty fields in Patch requests. 6854 ForceSendFields []string `json:"-"` 6855 6856 // NullFields is a list of field names (e.g. "Description") to include 6857 // in API requests with the JSON null value. By default, fields with 6858 // empty values are omitted from API requests. However, any field with 6859 // an empty value appearing in NullFields will be sent to the server as 6860 // null. It is an error if a field in this list has a non-empty value. 6861 // This may be used to include null fields in Patch requests. 6862 NullFields []string `json:"-"` 6863} 6864 6865func (s *GoogleCloudVisionV1p2beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 6866 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebEntity 6867 raw := NoMethod(*s) 6868 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6869} 6870 6871func (s *GoogleCloudVisionV1p2beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 6872 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebEntity 6873 var s1 struct { 6874 Score gensupport.JSONFloat64 `json:"score"` 6875 *NoMethod 6876 } 6877 s1.NoMethod = (*NoMethod)(s) 6878 if err := json.Unmarshal(data, &s1); err != nil { 6879 return err 6880 } 6881 s.Score = float64(s1.Score) 6882 return nil 6883} 6884 6885// GoogleCloudVisionV1p2beta1WebDetectionWebImage: Metadata for online 6886// images. 6887type GoogleCloudVisionV1p2beta1WebDetectionWebImage struct { 6888 // Score: (Deprecated) Overall relevancy score for the image. 6889 Score float64 `json:"score,omitempty"` 6890 6891 // Url: The result image URL. 6892 Url string `json:"url,omitempty"` 6893 6894 // ForceSendFields is a list of field names (e.g. "Score") to 6895 // unconditionally include in API requests. By default, fields with 6896 // empty values are omitted from API requests. However, any non-pointer, 6897 // non-interface field appearing in ForceSendFields will be sent to the 6898 // server regardless of whether the field is empty or not. This may be 6899 // used to include empty fields in Patch requests. 6900 ForceSendFields []string `json:"-"` 6901 6902 // NullFields is a list of field names (e.g. "Score") to include in API 6903 // requests with the JSON null value. By default, fields with empty 6904 // values are omitted from API requests. However, any field with an 6905 // empty value appearing in NullFields will be sent to the server as 6906 // null. It is an error if a field in this list has a non-empty value. 6907 // This may be used to include null fields in Patch requests. 6908 NullFields []string `json:"-"` 6909} 6910 6911func (s *GoogleCloudVisionV1p2beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 6912 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebImage 6913 raw := NoMethod(*s) 6914 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6915} 6916 6917func (s *GoogleCloudVisionV1p2beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 6918 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebImage 6919 var s1 struct { 6920 Score gensupport.JSONFloat64 `json:"score"` 6921 *NoMethod 6922 } 6923 s1.NoMethod = (*NoMethod)(s) 6924 if err := json.Unmarshal(data, &s1); err != nil { 6925 return err 6926 } 6927 s.Score = float64(s1.Score) 6928 return nil 6929} 6930 6931// GoogleCloudVisionV1p2beta1WebDetectionWebLabel: Label to provide 6932// extra metadata for the web detection. 6933type GoogleCloudVisionV1p2beta1WebDetectionWebLabel struct { 6934 // Label: Label for extra metadata. 6935 Label string `json:"label,omitempty"` 6936 6937 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 6938 // or "sr-Latn". 6939 // For more information, 6940 // see 6941 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 6942 LanguageCode string `json:"languageCode,omitempty"` 6943 6944 // ForceSendFields is a list of field names (e.g. "Label") to 6945 // unconditionally include in API requests. By default, fields with 6946 // empty values are omitted from API requests. However, any non-pointer, 6947 // non-interface field appearing in ForceSendFields will be sent to the 6948 // server regardless of whether the field is empty or not. This may be 6949 // used to include empty fields in Patch requests. 6950 ForceSendFields []string `json:"-"` 6951 6952 // NullFields is a list of field names (e.g. "Label") to include in API 6953 // requests with the JSON null value. By default, fields with empty 6954 // values are omitted from API requests. However, any field with an 6955 // empty value appearing in NullFields will be sent to the server as 6956 // null. It is an error if a field in this list has a non-empty value. 6957 // This may be used to include null fields in Patch requests. 6958 NullFields []string `json:"-"` 6959} 6960 6961func (s *GoogleCloudVisionV1p2beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 6962 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebLabel 6963 raw := NoMethod(*s) 6964 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 6965} 6966 6967// GoogleCloudVisionV1p2beta1WebDetectionWebPage: Metadata for web 6968// pages. 6969type GoogleCloudVisionV1p2beta1WebDetectionWebPage struct { 6970 // FullMatchingImages: Fully matching images on the page. 6971 // Can include resized copies of the query image. 6972 FullMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 6973 6974 // PageTitle: Title for the web page, may contain HTML markups. 6975 PageTitle string `json:"pageTitle,omitempty"` 6976 6977 // PartialMatchingImages: Partial matching images on the page. 6978 // Those images are similar enough to share some key-point features. 6979 // For 6980 // example an original image will likely have partial matching for 6981 // its 6982 // crops. 6983 PartialMatchingImages []*GoogleCloudVisionV1p2beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 6984 6985 // Score: (Deprecated) Overall relevancy score for the web page. 6986 Score float64 `json:"score,omitempty"` 6987 6988 // Url: The result web page URL. 6989 Url string `json:"url,omitempty"` 6990 6991 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 6992 // to unconditionally include in API requests. By default, fields with 6993 // empty values are omitted from API requests. However, any non-pointer, 6994 // non-interface field appearing in ForceSendFields will be sent to the 6995 // server regardless of whether the field is empty or not. This may be 6996 // used to include empty fields in Patch requests. 6997 ForceSendFields []string `json:"-"` 6998 6999 // NullFields is a list of field names (e.g. "FullMatchingImages") to 7000 // include in API requests with the JSON null value. By default, fields 7001 // with empty values are omitted from API requests. However, any field 7002 // with an empty value appearing in NullFields will be sent to the 7003 // server as null. It is an error if a field in this list has a 7004 // non-empty value. This may be used to include null fields in Patch 7005 // requests. 7006 NullFields []string `json:"-"` 7007} 7008 7009func (s *GoogleCloudVisionV1p2beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 7010 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebPage 7011 raw := NoMethod(*s) 7012 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7013} 7014 7015func (s *GoogleCloudVisionV1p2beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 7016 type NoMethod GoogleCloudVisionV1p2beta1WebDetectionWebPage 7017 var s1 struct { 7018 Score gensupport.JSONFloat64 `json:"score"` 7019 *NoMethod 7020 } 7021 s1.NoMethod = (*NoMethod)(s) 7022 if err := json.Unmarshal(data, &s1); err != nil { 7023 return err 7024 } 7025 s.Score = float64(s1.Score) 7026 return nil 7027} 7028 7029// GoogleCloudVisionV1p2beta1Word: A word representation. 7030type GoogleCloudVisionV1p2beta1Word struct { 7031 // BoundingBox: The bounding box for the word. 7032 // The vertices are in the order of top-left, top-right, 7033 // bottom-right, 7034 // bottom-left. When a rotation of the bounding box is detected the 7035 // rotation 7036 // is represented as around the top-left corner as defined when the text 7037 // is 7038 // read in the 'natural' orientation. 7039 // For example: 7040 // * when the text is horizontal it might look like: 7041 // 0----1 7042 // | | 7043 // 3----2 7044 // * when it's rotated 180 degrees around the top-left corner it 7045 // becomes: 7046 // 2----3 7047 // | | 7048 // 1----0 7049 // and the vertex order will still be (0, 1, 2, 3). 7050 BoundingBox *GoogleCloudVisionV1p2beta1BoundingPoly `json:"boundingBox,omitempty"` 7051 7052 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 7053 Confidence float64 `json:"confidence,omitempty"` 7054 7055 // Property: Additional information detected for the word. 7056 Property *GoogleCloudVisionV1p2beta1TextAnnotationTextProperty `json:"property,omitempty"` 7057 7058 // Symbols: List of symbols in the word. 7059 // The order of the symbols follows the natural reading order. 7060 Symbols []*GoogleCloudVisionV1p2beta1Symbol `json:"symbols,omitempty"` 7061 7062 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 7063 // unconditionally include in API requests. By default, fields with 7064 // empty values are omitted from API requests. However, any non-pointer, 7065 // non-interface field appearing in ForceSendFields will be sent to the 7066 // server regardless of whether the field is empty or not. This may be 7067 // used to include empty fields in Patch requests. 7068 ForceSendFields []string `json:"-"` 7069 7070 // NullFields is a list of field names (e.g. "BoundingBox") to include 7071 // in API requests with the JSON null value. By default, fields with 7072 // empty values are omitted from API requests. However, any field with 7073 // an empty value appearing in NullFields will be sent to the server as 7074 // null. It is an error if a field in this list has a non-empty value. 7075 // This may be used to include null fields in Patch requests. 7076 NullFields []string `json:"-"` 7077} 7078 7079func (s *GoogleCloudVisionV1p2beta1Word) MarshalJSON() ([]byte, error) { 7080 type NoMethod GoogleCloudVisionV1p2beta1Word 7081 raw := NoMethod(*s) 7082 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7083} 7084 7085func (s *GoogleCloudVisionV1p2beta1Word) UnmarshalJSON(data []byte) error { 7086 type NoMethod GoogleCloudVisionV1p2beta1Word 7087 var s1 struct { 7088 Confidence gensupport.JSONFloat64 `json:"confidence"` 7089 *NoMethod 7090 } 7091 s1.NoMethod = (*NoMethod)(s) 7092 if err := json.Unmarshal(data, &s1); err != nil { 7093 return err 7094 } 7095 s.Confidence = float64(s1.Confidence) 7096 return nil 7097} 7098 7099// GoogleCloudVisionV1p3beta1AnnotateFileResponse: Response to a single 7100// file annotation request. A file may contain one or more 7101// images, which individually have their own responses. 7102type GoogleCloudVisionV1p3beta1AnnotateFileResponse struct { 7103 // InputConfig: Information about the file for which this response is 7104 // generated. 7105 InputConfig *GoogleCloudVisionV1p3beta1InputConfig `json:"inputConfig,omitempty"` 7106 7107 // Responses: Individual responses to images found within the file. 7108 Responses []*GoogleCloudVisionV1p3beta1AnnotateImageResponse `json:"responses,omitempty"` 7109 7110 // TotalPages: This field gives the total number of pages in the file. 7111 TotalPages int64 `json:"totalPages,omitempty"` 7112 7113 // ForceSendFields is a list of field names (e.g. "InputConfig") to 7114 // unconditionally include in API requests. By default, fields with 7115 // empty values are omitted from API requests. However, any non-pointer, 7116 // non-interface field appearing in ForceSendFields will be sent to the 7117 // server regardless of whether the field is empty or not. This may be 7118 // used to include empty fields in Patch requests. 7119 ForceSendFields []string `json:"-"` 7120 7121 // NullFields is a list of field names (e.g. "InputConfig") to include 7122 // in API requests with the JSON null value. By default, fields with 7123 // empty values are omitted from API requests. However, any field with 7124 // an empty value appearing in NullFields will be sent to the server as 7125 // null. It is an error if a field in this list has a non-empty value. 7126 // This may be used to include null fields in Patch requests. 7127 NullFields []string `json:"-"` 7128} 7129 7130func (s *GoogleCloudVisionV1p3beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 7131 type NoMethod GoogleCloudVisionV1p3beta1AnnotateFileResponse 7132 raw := NoMethod(*s) 7133 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7134} 7135 7136// GoogleCloudVisionV1p3beta1AnnotateImageResponse: Response to an image 7137// annotation request. 7138type GoogleCloudVisionV1p3beta1AnnotateImageResponse struct { 7139 // Context: If present, contextual information is needed to understand 7140 // where this image 7141 // comes from. 7142 Context *GoogleCloudVisionV1p3beta1ImageAnnotationContext `json:"context,omitempty"` 7143 7144 // CropHintsAnnotation: If present, crop hints have completed 7145 // successfully. 7146 CropHintsAnnotation *GoogleCloudVisionV1p3beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 7147 7148 // Error: If set, represents the error message for the operation. 7149 // Note that filled-in image annotations are guaranteed to be 7150 // correct, even when `error` is set. 7151 Error *Status `json:"error,omitempty"` 7152 7153 // FaceAnnotations: If present, face detection has completed 7154 // successfully. 7155 FaceAnnotations []*GoogleCloudVisionV1p3beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 7156 7157 // FullTextAnnotation: If present, text (OCR) detection or document 7158 // (OCR) text detection has 7159 // completed successfully. 7160 // This annotation provides the structural hierarchy for the OCR 7161 // detected 7162 // text. 7163 FullTextAnnotation *GoogleCloudVisionV1p3beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 7164 7165 // ImagePropertiesAnnotation: If present, image properties were 7166 // extracted successfully. 7167 ImagePropertiesAnnotation *GoogleCloudVisionV1p3beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 7168 7169 // LabelAnnotations: If present, label detection has completed 7170 // successfully. 7171 LabelAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 7172 7173 // LandmarkAnnotations: If present, landmark detection has completed 7174 // successfully. 7175 LandmarkAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 7176 7177 // LocalizedObjectAnnotations: If present, localized object detection 7178 // has completed successfully. 7179 // This will be sorted descending by confidence score. 7180 LocalizedObjectAnnotations []*GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 7181 7182 // LogoAnnotations: If present, logo detection has completed 7183 // successfully. 7184 LogoAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 7185 7186 // ProductSearchResults: If present, product search has completed 7187 // successfully. 7188 ProductSearchResults *GoogleCloudVisionV1p3beta1ProductSearchResults `json:"productSearchResults,omitempty"` 7189 7190 // SafeSearchAnnotation: If present, safe-search annotation has 7191 // completed successfully. 7192 SafeSearchAnnotation *GoogleCloudVisionV1p3beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 7193 7194 // TextAnnotations: If present, text (OCR) detection has completed 7195 // successfully. 7196 TextAnnotations []*GoogleCloudVisionV1p3beta1EntityAnnotation `json:"textAnnotations,omitempty"` 7197 7198 // WebDetection: If present, web detection has completed successfully. 7199 WebDetection *GoogleCloudVisionV1p3beta1WebDetection `json:"webDetection,omitempty"` 7200 7201 // ForceSendFields is a list of field names (e.g. "Context") to 7202 // unconditionally include in API requests. By default, fields with 7203 // empty values are omitted from API requests. However, any non-pointer, 7204 // non-interface field appearing in ForceSendFields will be sent to the 7205 // server regardless of whether the field is empty or not. This may be 7206 // used to include empty fields in Patch requests. 7207 ForceSendFields []string `json:"-"` 7208 7209 // NullFields is a list of field names (e.g. "Context") to include in 7210 // API requests with the JSON null value. By default, fields with empty 7211 // values are omitted from API requests. However, any field with an 7212 // empty value appearing in NullFields will be sent to the server as 7213 // null. It is an error if a field in this list has a non-empty value. 7214 // This may be used to include null fields in Patch requests. 7215 NullFields []string `json:"-"` 7216} 7217 7218func (s *GoogleCloudVisionV1p3beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 7219 type NoMethod GoogleCloudVisionV1p3beta1AnnotateImageResponse 7220 raw := NoMethod(*s) 7221 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7222} 7223 7224// GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse: The response for 7225// a single offline file annotation request. 7226type GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse struct { 7227 // OutputConfig: The output location and metadata from 7228 // AsyncAnnotateFileRequest. 7229 OutputConfig *GoogleCloudVisionV1p3beta1OutputConfig `json:"outputConfig,omitempty"` 7230 7231 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 7232 // unconditionally include in API requests. By default, fields with 7233 // empty values are omitted from API requests. However, any non-pointer, 7234 // non-interface field appearing in ForceSendFields will be sent to the 7235 // server regardless of whether the field is empty or not. This may be 7236 // used to include empty fields in Patch requests. 7237 ForceSendFields []string `json:"-"` 7238 7239 // NullFields is a list of field names (e.g. "OutputConfig") to include 7240 // in API requests with the JSON null value. By default, fields with 7241 // empty values are omitted from API requests. However, any field with 7242 // an empty value appearing in NullFields will be sent to the server as 7243 // null. It is an error if a field in this list has a non-empty value. 7244 // This may be used to include null fields in Patch requests. 7245 NullFields []string `json:"-"` 7246} 7247 7248func (s *GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 7249 type NoMethod GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse 7250 raw := NoMethod(*s) 7251 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7252} 7253 7254// GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse: Response 7255// to an async batch file annotation request. 7256type GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse struct { 7257 // Responses: The list of file annotation responses, one for each 7258 // request in 7259 // AsyncBatchAnnotateFilesRequest. 7260 Responses []*GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 7261 7262 // ForceSendFields is a list of field names (e.g. "Responses") to 7263 // unconditionally include in API requests. By default, fields with 7264 // empty values are omitted from API requests. However, any non-pointer, 7265 // non-interface field appearing in ForceSendFields will be sent to the 7266 // server regardless of whether the field is empty or not. This may be 7267 // used to include empty fields in Patch requests. 7268 ForceSendFields []string `json:"-"` 7269 7270 // NullFields is a list of field names (e.g. "Responses") to include in 7271 // API requests with the JSON null value. By default, fields with empty 7272 // values are omitted from API requests. However, any field with an 7273 // empty value appearing in NullFields will be sent to the server as 7274 // null. It is an error if a field in this list has a non-empty value. 7275 // This may be used to include null fields in Patch requests. 7276 NullFields []string `json:"-"` 7277} 7278 7279func (s *GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 7280 type NoMethod GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse 7281 raw := NoMethod(*s) 7282 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7283} 7284 7285// GoogleCloudVisionV1p3beta1BatchOperationMetadata: Metadata for the 7286// batch operations such as the current state. 7287// 7288// This is included in the `metadata` field of the `Operation` returned 7289// by the 7290// `GetOperation` call of the `google::longrunning::Operations` service. 7291type GoogleCloudVisionV1p3beta1BatchOperationMetadata struct { 7292 // EndTime: The time when the batch request is finished 7293 // and 7294 // google.longrunning.Operation.done is set to true. 7295 EndTime string `json:"endTime,omitempty"` 7296 7297 // State: The current state of the batch operation. 7298 // 7299 // Possible values: 7300 // "STATE_UNSPECIFIED" - Invalid. 7301 // "PROCESSING" - Request is actively being processed. 7302 // "SUCCESSFUL" - The request is done and at least one item has been 7303 // successfully 7304 // processed. 7305 // "FAILED" - The request is done and no item has been successfully 7306 // processed. 7307 // "CANCELLED" - The request is done after the 7308 // longrunning.Operations.CancelOperation has 7309 // been called by the user. Any records that were processed before 7310 // the 7311 // cancel command are output as specified in the request. 7312 State string `json:"state,omitempty"` 7313 7314 // SubmitTime: The time when the batch request was submitted to the 7315 // server. 7316 SubmitTime string `json:"submitTime,omitempty"` 7317 7318 // ForceSendFields is a list of field names (e.g. "EndTime") to 7319 // unconditionally include in API requests. By default, fields with 7320 // empty values are omitted from API requests. However, any non-pointer, 7321 // non-interface field appearing in ForceSendFields will be sent to the 7322 // server regardless of whether the field is empty or not. This may be 7323 // used to include empty fields in Patch requests. 7324 ForceSendFields []string `json:"-"` 7325 7326 // NullFields is a list of field names (e.g. "EndTime") to include in 7327 // API requests with the JSON null value. By default, fields with empty 7328 // values are omitted from API requests. However, any field with an 7329 // empty value appearing in NullFields will be sent to the server as 7330 // null. It is an error if a field in this list has a non-empty value. 7331 // This may be used to include null fields in Patch requests. 7332 NullFields []string `json:"-"` 7333} 7334 7335func (s *GoogleCloudVisionV1p3beta1BatchOperationMetadata) MarshalJSON() ([]byte, error) { 7336 type NoMethod GoogleCloudVisionV1p3beta1BatchOperationMetadata 7337 raw := NoMethod(*s) 7338 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7339} 7340 7341// GoogleCloudVisionV1p3beta1Block: Logical element on the page. 7342type GoogleCloudVisionV1p3beta1Block struct { 7343 // BlockType: Detected block type (text, image etc) for this block. 7344 // 7345 // Possible values: 7346 // "UNKNOWN" - Unknown block type. 7347 // "TEXT" - Regular text block. 7348 // "TABLE" - Table block. 7349 // "PICTURE" - Image block. 7350 // "RULER" - Horizontal/vertical line box. 7351 // "BARCODE" - Barcode block. 7352 BlockType string `json:"blockType,omitempty"` 7353 7354 // BoundingBox: The bounding box for the block. 7355 // The vertices are in the order of top-left, top-right, 7356 // bottom-right, 7357 // bottom-left. When a rotation of the bounding box is detected the 7358 // rotation 7359 // is represented as around the top-left corner as defined when the text 7360 // is 7361 // read in the 'natural' orientation. 7362 // For example: 7363 // 7364 // * when the text is horizontal it might look like: 7365 // 7366 // 0----1 7367 // | | 7368 // 3----2 7369 // 7370 // * when it's rotated 180 degrees around the top-left corner it 7371 // becomes: 7372 // 7373 // 2----3 7374 // | | 7375 // 1----0 7376 // 7377 // and the vertex order will still be (0, 1, 2, 3). 7378 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 7379 7380 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 7381 Confidence float64 `json:"confidence,omitempty"` 7382 7383 // Paragraphs: List of paragraphs in this block (if this blocks is of 7384 // type text). 7385 Paragraphs []*GoogleCloudVisionV1p3beta1Paragraph `json:"paragraphs,omitempty"` 7386 7387 // Property: Additional information detected for the block. 7388 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 7389 7390 // ForceSendFields is a list of field names (e.g. "BlockType") to 7391 // unconditionally include in API requests. By default, fields with 7392 // empty values are omitted from API requests. However, any non-pointer, 7393 // non-interface field appearing in ForceSendFields will be sent to the 7394 // server regardless of whether the field is empty or not. This may be 7395 // used to include empty fields in Patch requests. 7396 ForceSendFields []string `json:"-"` 7397 7398 // NullFields is a list of field names (e.g. "BlockType") to include in 7399 // API requests with the JSON null value. By default, fields with empty 7400 // values are omitted from API requests. However, any field with an 7401 // empty value appearing in NullFields will be sent to the server as 7402 // null. It is an error if a field in this list has a non-empty value. 7403 // This may be used to include null fields in Patch requests. 7404 NullFields []string `json:"-"` 7405} 7406 7407func (s *GoogleCloudVisionV1p3beta1Block) MarshalJSON() ([]byte, error) { 7408 type NoMethod GoogleCloudVisionV1p3beta1Block 7409 raw := NoMethod(*s) 7410 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7411} 7412 7413func (s *GoogleCloudVisionV1p3beta1Block) UnmarshalJSON(data []byte) error { 7414 type NoMethod GoogleCloudVisionV1p3beta1Block 7415 var s1 struct { 7416 Confidence gensupport.JSONFloat64 `json:"confidence"` 7417 *NoMethod 7418 } 7419 s1.NoMethod = (*NoMethod)(s) 7420 if err := json.Unmarshal(data, &s1); err != nil { 7421 return err 7422 } 7423 s.Confidence = float64(s1.Confidence) 7424 return nil 7425} 7426 7427// GoogleCloudVisionV1p3beta1BoundingPoly: A bounding polygon for the 7428// detected image annotation. 7429type GoogleCloudVisionV1p3beta1BoundingPoly struct { 7430 // NormalizedVertices: The bounding polygon normalized vertices. 7431 NormalizedVertices []*GoogleCloudVisionV1p3beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 7432 7433 // Vertices: The bounding polygon vertices. 7434 Vertices []*GoogleCloudVisionV1p3beta1Vertex `json:"vertices,omitempty"` 7435 7436 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 7437 // to unconditionally include in API requests. By default, fields with 7438 // empty values are omitted from API requests. However, any non-pointer, 7439 // non-interface field appearing in ForceSendFields will be sent to the 7440 // server regardless of whether the field is empty or not. This may be 7441 // used to include empty fields in Patch requests. 7442 ForceSendFields []string `json:"-"` 7443 7444 // NullFields is a list of field names (e.g. "NormalizedVertices") to 7445 // include in API requests with the JSON null value. By default, fields 7446 // with empty values are omitted from API requests. However, any field 7447 // with an empty value appearing in NullFields will be sent to the 7448 // server as null. It is an error if a field in this list has a 7449 // non-empty value. This may be used to include null fields in Patch 7450 // requests. 7451 NullFields []string `json:"-"` 7452} 7453 7454func (s *GoogleCloudVisionV1p3beta1BoundingPoly) MarshalJSON() ([]byte, error) { 7455 type NoMethod GoogleCloudVisionV1p3beta1BoundingPoly 7456 raw := NoMethod(*s) 7457 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7458} 7459 7460// GoogleCloudVisionV1p3beta1ColorInfo: Color information consists of 7461// RGB channels, score, and the fraction of 7462// the image that the color occupies in the image. 7463type GoogleCloudVisionV1p3beta1ColorInfo struct { 7464 // Color: RGB components of the color. 7465 Color *Color `json:"color,omitempty"` 7466 7467 // PixelFraction: The fraction of pixels the color occupies in the 7468 // image. 7469 // Value in range [0, 1]. 7470 PixelFraction float64 `json:"pixelFraction,omitempty"` 7471 7472 // Score: Image-specific score for this color. Value in range [0, 1]. 7473 Score float64 `json:"score,omitempty"` 7474 7475 // ForceSendFields is a list of field names (e.g. "Color") to 7476 // unconditionally include in API requests. By default, fields with 7477 // empty values are omitted from API requests. However, any non-pointer, 7478 // non-interface field appearing in ForceSendFields will be sent to the 7479 // server regardless of whether the field is empty or not. This may be 7480 // used to include empty fields in Patch requests. 7481 ForceSendFields []string `json:"-"` 7482 7483 // NullFields is a list of field names (e.g. "Color") to include in API 7484 // requests with the JSON null value. By default, fields with empty 7485 // values are omitted from API requests. However, any field with an 7486 // empty value appearing in NullFields will be sent to the server as 7487 // null. It is an error if a field in this list has a non-empty value. 7488 // This may be used to include null fields in Patch requests. 7489 NullFields []string `json:"-"` 7490} 7491 7492func (s *GoogleCloudVisionV1p3beta1ColorInfo) MarshalJSON() ([]byte, error) { 7493 type NoMethod GoogleCloudVisionV1p3beta1ColorInfo 7494 raw := NoMethod(*s) 7495 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7496} 7497 7498func (s *GoogleCloudVisionV1p3beta1ColorInfo) UnmarshalJSON(data []byte) error { 7499 type NoMethod GoogleCloudVisionV1p3beta1ColorInfo 7500 var s1 struct { 7501 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 7502 Score gensupport.JSONFloat64 `json:"score"` 7503 *NoMethod 7504 } 7505 s1.NoMethod = (*NoMethod)(s) 7506 if err := json.Unmarshal(data, &s1); err != nil { 7507 return err 7508 } 7509 s.PixelFraction = float64(s1.PixelFraction) 7510 s.Score = float64(s1.Score) 7511 return nil 7512} 7513 7514// GoogleCloudVisionV1p3beta1CropHint: Single crop hint that is used to 7515// generate a new crop when serving an image. 7516type GoogleCloudVisionV1p3beta1CropHint struct { 7517 // BoundingPoly: The bounding polygon for the crop region. The 7518 // coordinates of the bounding 7519 // box are in the original image's scale. 7520 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 7521 7522 // Confidence: Confidence of this being a salient region. Range [0, 1]. 7523 Confidence float64 `json:"confidence,omitempty"` 7524 7525 // ImportanceFraction: Fraction of importance of this salient region 7526 // with respect to the original 7527 // image. 7528 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 7529 7530 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 7531 // unconditionally include in API requests. By default, fields with 7532 // empty values are omitted from API requests. However, any non-pointer, 7533 // non-interface field appearing in ForceSendFields will be sent to the 7534 // server regardless of whether the field is empty or not. This may be 7535 // used to include empty fields in Patch requests. 7536 ForceSendFields []string `json:"-"` 7537 7538 // NullFields is a list of field names (e.g. "BoundingPoly") to include 7539 // in API requests with the JSON null value. By default, fields with 7540 // empty values are omitted from API requests. However, any field with 7541 // an empty value appearing in NullFields will be sent to the server as 7542 // null. It is an error if a field in this list has a non-empty value. 7543 // This may be used to include null fields in Patch requests. 7544 NullFields []string `json:"-"` 7545} 7546 7547func (s *GoogleCloudVisionV1p3beta1CropHint) MarshalJSON() ([]byte, error) { 7548 type NoMethod GoogleCloudVisionV1p3beta1CropHint 7549 raw := NoMethod(*s) 7550 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7551} 7552 7553func (s *GoogleCloudVisionV1p3beta1CropHint) UnmarshalJSON(data []byte) error { 7554 type NoMethod GoogleCloudVisionV1p3beta1CropHint 7555 var s1 struct { 7556 Confidence gensupport.JSONFloat64 `json:"confidence"` 7557 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 7558 *NoMethod 7559 } 7560 s1.NoMethod = (*NoMethod)(s) 7561 if err := json.Unmarshal(data, &s1); err != nil { 7562 return err 7563 } 7564 s.Confidence = float64(s1.Confidence) 7565 s.ImportanceFraction = float64(s1.ImportanceFraction) 7566 return nil 7567} 7568 7569// GoogleCloudVisionV1p3beta1CropHintsAnnotation: Set of crop hints that 7570// are used to generate new crops when serving images. 7571type GoogleCloudVisionV1p3beta1CropHintsAnnotation struct { 7572 // CropHints: Crop hint results. 7573 CropHints []*GoogleCloudVisionV1p3beta1CropHint `json:"cropHints,omitempty"` 7574 7575 // ForceSendFields is a list of field names (e.g. "CropHints") to 7576 // unconditionally include in API requests. By default, fields with 7577 // empty values are omitted from API requests. However, any non-pointer, 7578 // non-interface field appearing in ForceSendFields will be sent to the 7579 // server regardless of whether the field is empty or not. This may be 7580 // used to include empty fields in Patch requests. 7581 ForceSendFields []string `json:"-"` 7582 7583 // NullFields is a list of field names (e.g. "CropHints") to include in 7584 // API requests with the JSON null value. By default, fields with empty 7585 // values are omitted from API requests. However, any field with an 7586 // empty value appearing in NullFields will be sent to the server as 7587 // null. It is an error if a field in this list has a non-empty value. 7588 // This may be used to include null fields in Patch requests. 7589 NullFields []string `json:"-"` 7590} 7591 7592func (s *GoogleCloudVisionV1p3beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 7593 type NoMethod GoogleCloudVisionV1p3beta1CropHintsAnnotation 7594 raw := NoMethod(*s) 7595 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7596} 7597 7598// GoogleCloudVisionV1p3beta1DominantColorsAnnotation: Set of dominant 7599// colors and their corresponding scores. 7600type GoogleCloudVisionV1p3beta1DominantColorsAnnotation struct { 7601 // Colors: RGB color values with their score and pixel fraction. 7602 Colors []*GoogleCloudVisionV1p3beta1ColorInfo `json:"colors,omitempty"` 7603 7604 // ForceSendFields is a list of field names (e.g. "Colors") to 7605 // unconditionally include in API requests. By default, fields with 7606 // empty values are omitted from API requests. However, any non-pointer, 7607 // non-interface field appearing in ForceSendFields will be sent to the 7608 // server regardless of whether the field is empty or not. This may be 7609 // used to include empty fields in Patch requests. 7610 ForceSendFields []string `json:"-"` 7611 7612 // NullFields is a list of field names (e.g. "Colors") to include in API 7613 // requests with the JSON null value. By default, fields with empty 7614 // values are omitted from API requests. However, any field with an 7615 // empty value appearing in NullFields will be sent to the server as 7616 // null. It is an error if a field in this list has a non-empty value. 7617 // This may be used to include null fields in Patch requests. 7618 NullFields []string `json:"-"` 7619} 7620 7621func (s *GoogleCloudVisionV1p3beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 7622 type NoMethod GoogleCloudVisionV1p3beta1DominantColorsAnnotation 7623 raw := NoMethod(*s) 7624 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7625} 7626 7627// GoogleCloudVisionV1p3beta1EntityAnnotation: Set of detected entity 7628// features. 7629type GoogleCloudVisionV1p3beta1EntityAnnotation struct { 7630 // BoundingPoly: Image region to which this entity belongs. Not 7631 // produced 7632 // for `LABEL_DETECTION` features. 7633 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 7634 7635 // Confidence: **Deprecated. Use `score` instead.** 7636 // The accuracy of the entity detection in an image. 7637 // For example, for an image in which the "Eiffel Tower" entity is 7638 // detected, 7639 // this field represents the confidence that there is a tower in the 7640 // query 7641 // image. Range [0, 1]. 7642 Confidence float64 `json:"confidence,omitempty"` 7643 7644 // Description: Entity textual description, expressed in its `locale` 7645 // language. 7646 Description string `json:"description,omitempty"` 7647 7648 // Locale: The language code for the locale in which the entity 7649 // textual 7650 // `description` is expressed. 7651 Locale string `json:"locale,omitempty"` 7652 7653 // Locations: The location information for the detected entity. 7654 // Multiple 7655 // `LocationInfo` elements can be present because one location 7656 // may 7657 // indicate the location of the scene in the image, and another 7658 // location 7659 // may indicate the location of the place where the image was 7660 // taken. 7661 // Location information is usually present for landmarks. 7662 Locations []*GoogleCloudVisionV1p3beta1LocationInfo `json:"locations,omitempty"` 7663 7664 // Mid: Opaque entity ID. Some IDs may be available in 7665 // [Google Knowledge Graph 7666 // Search 7667 // API](https://developers.google.com/knowledge-graph/). 7668 Mid string `json:"mid,omitempty"` 7669 7670 // Properties: Some entities may have optional user-supplied `Property` 7671 // (name/value) 7672 // fields, such a score or string that qualifies the entity. 7673 Properties []*GoogleCloudVisionV1p3beta1Property `json:"properties,omitempty"` 7674 7675 // Score: Overall score of the result. Range [0, 1]. 7676 Score float64 `json:"score,omitempty"` 7677 7678 // Topicality: The relevancy of the ICA (Image Content Annotation) label 7679 // to the 7680 // image. For example, the relevancy of "tower" is likely higher to an 7681 // image 7682 // containing the detected "Eiffel Tower" than to an image containing 7683 // a 7684 // detected distant towering building, even though the confidence 7685 // that 7686 // there is a tower in each image may be the same. Range [0, 1]. 7687 Topicality float64 `json:"topicality,omitempty"` 7688 7689 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 7690 // unconditionally include in API requests. By default, fields with 7691 // empty values are omitted from API requests. However, any non-pointer, 7692 // non-interface field appearing in ForceSendFields will be sent to the 7693 // server regardless of whether the field is empty or not. This may be 7694 // used to include empty fields in Patch requests. 7695 ForceSendFields []string `json:"-"` 7696 7697 // NullFields is a list of field names (e.g. "BoundingPoly") to include 7698 // in API requests with the JSON null value. By default, fields with 7699 // empty values are omitted from API requests. However, any field with 7700 // an empty value appearing in NullFields will be sent to the server as 7701 // null. It is an error if a field in this list has a non-empty value. 7702 // This may be used to include null fields in Patch requests. 7703 NullFields []string `json:"-"` 7704} 7705 7706func (s *GoogleCloudVisionV1p3beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 7707 type NoMethod GoogleCloudVisionV1p3beta1EntityAnnotation 7708 raw := NoMethod(*s) 7709 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7710} 7711 7712func (s *GoogleCloudVisionV1p3beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 7713 type NoMethod GoogleCloudVisionV1p3beta1EntityAnnotation 7714 var s1 struct { 7715 Confidence gensupport.JSONFloat64 `json:"confidence"` 7716 Score gensupport.JSONFloat64 `json:"score"` 7717 Topicality gensupport.JSONFloat64 `json:"topicality"` 7718 *NoMethod 7719 } 7720 s1.NoMethod = (*NoMethod)(s) 7721 if err := json.Unmarshal(data, &s1); err != nil { 7722 return err 7723 } 7724 s.Confidence = float64(s1.Confidence) 7725 s.Score = float64(s1.Score) 7726 s.Topicality = float64(s1.Topicality) 7727 return nil 7728} 7729 7730// GoogleCloudVisionV1p3beta1FaceAnnotation: A face annotation object 7731// contains the results of face detection. 7732type GoogleCloudVisionV1p3beta1FaceAnnotation struct { 7733 // AngerLikelihood: Anger likelihood. 7734 // 7735 // Possible values: 7736 // "UNKNOWN" - Unknown likelihood. 7737 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 7738 // specified vertical. 7739 // "UNLIKELY" - It is unlikely that the image belongs to the specified 7740 // vertical. 7741 // "POSSIBLE" - It is possible that the image belongs to the specified 7742 // vertical. 7743 // "LIKELY" - It is likely that the image belongs to the specified 7744 // vertical. 7745 // "VERY_LIKELY" - It is very likely that the image belongs to the 7746 // specified vertical. 7747 AngerLikelihood string `json:"angerLikelihood,omitempty"` 7748 7749 // BlurredLikelihood: Blurred likelihood. 7750 // 7751 // Possible values: 7752 // "UNKNOWN" - Unknown likelihood. 7753 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 7754 // specified vertical. 7755 // "UNLIKELY" - It is unlikely that the image belongs to the specified 7756 // vertical. 7757 // "POSSIBLE" - It is possible that the image belongs to the specified 7758 // vertical. 7759 // "LIKELY" - It is likely that the image belongs to the specified 7760 // vertical. 7761 // "VERY_LIKELY" - It is very likely that the image belongs to the 7762 // specified vertical. 7763 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 7764 7765 // BoundingPoly: The bounding polygon around the face. The coordinates 7766 // of the bounding box 7767 // are in the original image's scale. 7768 // The bounding box is computed to "frame" the face in accordance with 7769 // human 7770 // expectations. It is based on the landmarker results. 7771 // Note that one or more x and/or y coordinates may not be generated in 7772 // the 7773 // `BoundingPoly` (the polygon will be unbounded) if only a partial 7774 // face 7775 // appears in the image to be annotated. 7776 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 7777 7778 // DetectionConfidence: Detection confidence. Range [0, 1]. 7779 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 7780 7781 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 7782 // than the 7783 // `boundingPoly`, and encloses only the skin part of the face. 7784 // Typically, it 7785 // is used to eliminate the face from any image analysis that detects 7786 // the 7787 // "amount of skin" visible in an image. It is not based on 7788 // the 7789 // landmarker results, only on the initial face detection, hence 7790 // the <code>fd</code> (face detection) prefix. 7791 FdBoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 7792 7793 // HeadwearLikelihood: Headwear likelihood. 7794 // 7795 // Possible values: 7796 // "UNKNOWN" - Unknown likelihood. 7797 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 7798 // specified vertical. 7799 // "UNLIKELY" - It is unlikely that the image belongs to the specified 7800 // vertical. 7801 // "POSSIBLE" - It is possible that the image belongs to the specified 7802 // vertical. 7803 // "LIKELY" - It is likely that the image belongs to the specified 7804 // vertical. 7805 // "VERY_LIKELY" - It is very likely that the image belongs to the 7806 // specified vertical. 7807 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 7808 7809 // JoyLikelihood: Joy likelihood. 7810 // 7811 // Possible values: 7812 // "UNKNOWN" - Unknown likelihood. 7813 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 7814 // specified vertical. 7815 // "UNLIKELY" - It is unlikely that the image belongs to the specified 7816 // vertical. 7817 // "POSSIBLE" - It is possible that the image belongs to the specified 7818 // vertical. 7819 // "LIKELY" - It is likely that the image belongs to the specified 7820 // vertical. 7821 // "VERY_LIKELY" - It is very likely that the image belongs to the 7822 // specified vertical. 7823 JoyLikelihood string `json:"joyLikelihood,omitempty"` 7824 7825 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 7826 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 7827 7828 // Landmarks: Detected face landmarks. 7829 Landmarks []*GoogleCloudVisionV1p3beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 7830 7831 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 7832 // that the face is 7833 // pointing relative to the vertical plane perpendicular to the image. 7834 // Range 7835 // [-180,180]. 7836 PanAngle float64 `json:"panAngle,omitempty"` 7837 7838 // RollAngle: Roll angle, which indicates the amount of 7839 // clockwise/anti-clockwise rotation 7840 // of the face relative to the image vertical about the axis 7841 // perpendicular to 7842 // the face. Range [-180,180]. 7843 RollAngle float64 `json:"rollAngle,omitempty"` 7844 7845 // SorrowLikelihood: Sorrow likelihood. 7846 // 7847 // Possible values: 7848 // "UNKNOWN" - Unknown likelihood. 7849 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 7850 // specified vertical. 7851 // "UNLIKELY" - It is unlikely that the image belongs to the specified 7852 // vertical. 7853 // "POSSIBLE" - It is possible that the image belongs to the specified 7854 // vertical. 7855 // "LIKELY" - It is likely that the image belongs to the specified 7856 // vertical. 7857 // "VERY_LIKELY" - It is very likely that the image belongs to the 7858 // specified vertical. 7859 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 7860 7861 // SurpriseLikelihood: Surprise likelihood. 7862 // 7863 // Possible values: 7864 // "UNKNOWN" - Unknown likelihood. 7865 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 7866 // specified vertical. 7867 // "UNLIKELY" - It is unlikely that the image belongs to the specified 7868 // vertical. 7869 // "POSSIBLE" - It is possible that the image belongs to the specified 7870 // vertical. 7871 // "LIKELY" - It is likely that the image belongs to the specified 7872 // vertical. 7873 // "VERY_LIKELY" - It is very likely that the image belongs to the 7874 // specified vertical. 7875 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 7876 7877 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 7878 // that the face is 7879 // pointing relative to the image's horizontal plane. Range [-180,180]. 7880 TiltAngle float64 `json:"tiltAngle,omitempty"` 7881 7882 // UnderExposedLikelihood: Under-exposed likelihood. 7883 // 7884 // Possible values: 7885 // "UNKNOWN" - Unknown likelihood. 7886 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 7887 // specified vertical. 7888 // "UNLIKELY" - It is unlikely that the image belongs to the specified 7889 // vertical. 7890 // "POSSIBLE" - It is possible that the image belongs to the specified 7891 // vertical. 7892 // "LIKELY" - It is likely that the image belongs to the specified 7893 // vertical. 7894 // "VERY_LIKELY" - It is very likely that the image belongs to the 7895 // specified vertical. 7896 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 7897 7898 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 7899 // unconditionally include in API requests. By default, fields with 7900 // empty values are omitted from API requests. However, any non-pointer, 7901 // non-interface field appearing in ForceSendFields will be sent to the 7902 // server regardless of whether the field is empty or not. This may be 7903 // used to include empty fields in Patch requests. 7904 ForceSendFields []string `json:"-"` 7905 7906 // NullFields is a list of field names (e.g. "AngerLikelihood") to 7907 // include in API requests with the JSON null value. By default, fields 7908 // with empty values are omitted from API requests. However, any field 7909 // with an empty value appearing in NullFields will be sent to the 7910 // server as null. It is an error if a field in this list has a 7911 // non-empty value. This may be used to include null fields in Patch 7912 // requests. 7913 NullFields []string `json:"-"` 7914} 7915 7916func (s *GoogleCloudVisionV1p3beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 7917 type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotation 7918 raw := NoMethod(*s) 7919 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 7920} 7921 7922func (s *GoogleCloudVisionV1p3beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 7923 type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotation 7924 var s1 struct { 7925 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 7926 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 7927 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 7928 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 7929 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 7930 *NoMethod 7931 } 7932 s1.NoMethod = (*NoMethod)(s) 7933 if err := json.Unmarshal(data, &s1); err != nil { 7934 return err 7935 } 7936 s.DetectionConfidence = float64(s1.DetectionConfidence) 7937 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 7938 s.PanAngle = float64(s1.PanAngle) 7939 s.RollAngle = float64(s1.RollAngle) 7940 s.TiltAngle = float64(s1.TiltAngle) 7941 return nil 7942} 7943 7944// GoogleCloudVisionV1p3beta1FaceAnnotationLandmark: A face-specific 7945// landmark (for example, a face feature). 7946type GoogleCloudVisionV1p3beta1FaceAnnotationLandmark struct { 7947 // Position: Face landmark position. 7948 Position *GoogleCloudVisionV1p3beta1Position `json:"position,omitempty"` 7949 7950 // Type: Face landmark type. 7951 // 7952 // Possible values: 7953 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 7954 // filled. 7955 // "LEFT_EYE" - Left eye. 7956 // "RIGHT_EYE" - Right eye. 7957 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 7958 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 7959 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 7960 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 7961 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 7962 // "NOSE_TIP" - Nose tip. 7963 // "UPPER_LIP" - Upper lip. 7964 // "LOWER_LIP" - Lower lip. 7965 // "MOUTH_LEFT" - Mouth left. 7966 // "MOUTH_RIGHT" - Mouth right. 7967 // "MOUTH_CENTER" - Mouth center. 7968 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 7969 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 7970 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 7971 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 7972 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 7973 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 7974 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 7975 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 7976 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 7977 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 7978 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 7979 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 7980 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 7981 // "LEFT_EAR_TRAGION" - Left ear tragion. 7982 // "RIGHT_EAR_TRAGION" - Right ear tragion. 7983 // "LEFT_EYE_PUPIL" - Left eye pupil. 7984 // "RIGHT_EYE_PUPIL" - Right eye pupil. 7985 // "FOREHEAD_GLABELLA" - Forehead glabella. 7986 // "CHIN_GNATHION" - Chin gnathion. 7987 // "CHIN_LEFT_GONION" - Chin left gonion. 7988 // "CHIN_RIGHT_GONION" - Chin right gonion. 7989 Type string `json:"type,omitempty"` 7990 7991 // ForceSendFields is a list of field names (e.g. "Position") to 7992 // unconditionally include in API requests. By default, fields with 7993 // empty values are omitted from API requests. However, any non-pointer, 7994 // non-interface field appearing in ForceSendFields will be sent to the 7995 // server regardless of whether the field is empty or not. This may be 7996 // used to include empty fields in Patch requests. 7997 ForceSendFields []string `json:"-"` 7998 7999 // NullFields is a list of field names (e.g. "Position") to include in 8000 // API requests with the JSON null value. By default, fields with empty 8001 // values are omitted from API requests. However, any field with an 8002 // empty value appearing in NullFields will be sent to the server as 8003 // null. It is an error if a field in this list has a non-empty value. 8004 // This may be used to include null fields in Patch requests. 8005 NullFields []string `json:"-"` 8006} 8007 8008func (s *GoogleCloudVisionV1p3beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 8009 type NoMethod GoogleCloudVisionV1p3beta1FaceAnnotationLandmark 8010 raw := NoMethod(*s) 8011 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8012} 8013 8014// GoogleCloudVisionV1p3beta1GcsDestination: The Google Cloud Storage 8015// location where the output will be written to. 8016type GoogleCloudVisionV1p3beta1GcsDestination struct { 8017 // Uri: Google Cloud Storage URI prefix where the results will be 8018 // stored. Results 8019 // will be in JSON format and preceded by its corresponding input URI 8020 // prefix. 8021 // This field can either represent a gcs file prefix or gcs directory. 8022 // In 8023 // either case, the uri should be unique because in order to get all of 8024 // the 8025 // output files, you will need to do a wildcard gcs search on the uri 8026 // prefix 8027 // you provide. 8028 // 8029 // Examples: 8030 // 8031 // * File Prefix: gs://bucket-name/here/filenameprefix The output 8032 // files 8033 // will be created in gs://bucket-name/here/ and the names of the 8034 // output files will begin with "filenameprefix". 8035 // 8036 // * Directory Prefix: gs://bucket-name/some/location/ The output 8037 // files 8038 // will be created in gs://bucket-name/some/location/ and the names of 8039 // the 8040 // output files could be anything because there was no filename 8041 // prefix 8042 // specified. 8043 // 8044 // If multiple outputs, each response is still AnnotateFileResponse, 8045 // each of 8046 // which contains some subset of the full list of 8047 // AnnotateImageResponse. 8048 // Multiple outputs can happen if, for example, the output JSON is too 8049 // large 8050 // and overflows into multiple sharded files. 8051 Uri string `json:"uri,omitempty"` 8052 8053 // ForceSendFields is a list of field names (e.g. "Uri") to 8054 // unconditionally include in API requests. By default, fields with 8055 // empty values are omitted from API requests. However, any non-pointer, 8056 // non-interface field appearing in ForceSendFields will be sent to the 8057 // server regardless of whether the field is empty or not. This may be 8058 // used to include empty fields in Patch requests. 8059 ForceSendFields []string `json:"-"` 8060 8061 // NullFields is a list of field names (e.g. "Uri") to include in API 8062 // requests with the JSON null value. By default, fields with empty 8063 // values are omitted from API requests. However, any field with an 8064 // empty value appearing in NullFields will be sent to the server as 8065 // null. It is an error if a field in this list has a non-empty value. 8066 // This may be used to include null fields in Patch requests. 8067 NullFields []string `json:"-"` 8068} 8069 8070func (s *GoogleCloudVisionV1p3beta1GcsDestination) MarshalJSON() ([]byte, error) { 8071 type NoMethod GoogleCloudVisionV1p3beta1GcsDestination 8072 raw := NoMethod(*s) 8073 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8074} 8075 8076// GoogleCloudVisionV1p3beta1GcsSource: The Google Cloud Storage 8077// location where the input will be read from. 8078type GoogleCloudVisionV1p3beta1GcsSource struct { 8079 // Uri: Google Cloud Storage URI for the input file. This must only be 8080 // a 8081 // Google Cloud Storage object. Wildcards are not currently supported. 8082 Uri string `json:"uri,omitempty"` 8083 8084 // ForceSendFields is a list of field names (e.g. "Uri") to 8085 // unconditionally include in API requests. By default, fields with 8086 // empty values are omitted from API requests. However, any non-pointer, 8087 // non-interface field appearing in ForceSendFields will be sent to the 8088 // server regardless of whether the field is empty or not. This may be 8089 // used to include empty fields in Patch requests. 8090 ForceSendFields []string `json:"-"` 8091 8092 // NullFields is a list of field names (e.g. "Uri") to include in API 8093 // requests with the JSON null value. By default, fields with empty 8094 // values are omitted from API requests. However, any field with an 8095 // empty value appearing in NullFields will be sent to the server as 8096 // null. It is an error if a field in this list has a non-empty value. 8097 // This may be used to include null fields in Patch requests. 8098 NullFields []string `json:"-"` 8099} 8100 8101func (s *GoogleCloudVisionV1p3beta1GcsSource) MarshalJSON() ([]byte, error) { 8102 type NoMethod GoogleCloudVisionV1p3beta1GcsSource 8103 raw := NoMethod(*s) 8104 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8105} 8106 8107// GoogleCloudVisionV1p3beta1ImageAnnotationContext: If an image was 8108// produced from a file (e.g. a PDF), this message gives 8109// information about the source of that image. 8110type GoogleCloudVisionV1p3beta1ImageAnnotationContext struct { 8111 // PageNumber: If the file was a PDF or TIFF, this field gives the page 8112 // number within 8113 // the file used to produce the image. 8114 PageNumber int64 `json:"pageNumber,omitempty"` 8115 8116 // Uri: The URI of the file used to produce the image. 8117 Uri string `json:"uri,omitempty"` 8118 8119 // ForceSendFields is a list of field names (e.g. "PageNumber") to 8120 // unconditionally include in API requests. By default, fields with 8121 // empty values are omitted from API requests. However, any non-pointer, 8122 // non-interface field appearing in ForceSendFields will be sent to the 8123 // server regardless of whether the field is empty or not. This may be 8124 // used to include empty fields in Patch requests. 8125 ForceSendFields []string `json:"-"` 8126 8127 // NullFields is a list of field names (e.g. "PageNumber") to include in 8128 // API requests with the JSON null value. By default, fields with empty 8129 // values are omitted from API requests. However, any field with an 8130 // empty value appearing in NullFields will be sent to the server as 8131 // null. It is an error if a field in this list has a non-empty value. 8132 // This may be used to include null fields in Patch requests. 8133 NullFields []string `json:"-"` 8134} 8135 8136func (s *GoogleCloudVisionV1p3beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 8137 type NoMethod GoogleCloudVisionV1p3beta1ImageAnnotationContext 8138 raw := NoMethod(*s) 8139 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8140} 8141 8142// GoogleCloudVisionV1p3beta1ImageProperties: Stores image properties, 8143// such as dominant colors. 8144type GoogleCloudVisionV1p3beta1ImageProperties struct { 8145 // DominantColors: If present, dominant colors completed successfully. 8146 DominantColors *GoogleCloudVisionV1p3beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 8147 8148 // ForceSendFields is a list of field names (e.g. "DominantColors") to 8149 // unconditionally include in API requests. By default, fields with 8150 // empty values are omitted from API requests. However, any non-pointer, 8151 // non-interface field appearing in ForceSendFields will be sent to the 8152 // server regardless of whether the field is empty or not. This may be 8153 // used to include empty fields in Patch requests. 8154 ForceSendFields []string `json:"-"` 8155 8156 // NullFields is a list of field names (e.g. "DominantColors") to 8157 // include in API requests with the JSON null value. By default, fields 8158 // with empty values are omitted from API requests. However, any field 8159 // with an empty value appearing in NullFields will be sent to the 8160 // server as null. It is an error if a field in this list has a 8161 // non-empty value. This may be used to include null fields in Patch 8162 // requests. 8163 NullFields []string `json:"-"` 8164} 8165 8166func (s *GoogleCloudVisionV1p3beta1ImageProperties) MarshalJSON() ([]byte, error) { 8167 type NoMethod GoogleCloudVisionV1p3beta1ImageProperties 8168 raw := NoMethod(*s) 8169 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8170} 8171 8172// GoogleCloudVisionV1p3beta1ImportProductSetsResponse: Response message 8173// for the `ImportProductSets` method. 8174// 8175// This message is returned by 8176// the 8177// google.longrunning.Operations.GetOperation method in the 8178// returned 8179// google.longrunning.Operation.response field. 8180type GoogleCloudVisionV1p3beta1ImportProductSetsResponse struct { 8181 // ReferenceImages: The list of reference_images that are imported 8182 // successfully. 8183 ReferenceImages []*GoogleCloudVisionV1p3beta1ReferenceImage `json:"referenceImages,omitempty"` 8184 8185 // Statuses: The rpc status for each ImportProductSet request, including 8186 // both successes 8187 // and errors. 8188 // 8189 // The number of statuses here matches the number of lines in the csv 8190 // file, 8191 // and statuses[i] stores the success or failure status of processing 8192 // the i-th 8193 // line of the csv, starting from line 0. 8194 Statuses []*Status `json:"statuses,omitempty"` 8195 8196 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 8197 // unconditionally include in API requests. By default, fields with 8198 // empty values are omitted from API requests. However, any non-pointer, 8199 // non-interface field appearing in ForceSendFields will be sent to the 8200 // server regardless of whether the field is empty or not. This may be 8201 // used to include empty fields in Patch requests. 8202 ForceSendFields []string `json:"-"` 8203 8204 // NullFields is a list of field names (e.g. "ReferenceImages") to 8205 // include in API requests with the JSON null value. By default, fields 8206 // with empty values are omitted from API requests. However, any field 8207 // with an empty value appearing in NullFields will be sent to the 8208 // server as null. It is an error if a field in this list has a 8209 // non-empty value. This may be used to include null fields in Patch 8210 // requests. 8211 NullFields []string `json:"-"` 8212} 8213 8214func (s *GoogleCloudVisionV1p3beta1ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 8215 type NoMethod GoogleCloudVisionV1p3beta1ImportProductSetsResponse 8216 raw := NoMethod(*s) 8217 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8218} 8219 8220// GoogleCloudVisionV1p3beta1InputConfig: The desired input location and 8221// metadata. 8222type GoogleCloudVisionV1p3beta1InputConfig struct { 8223 // Content: File content, represented as a stream of bytes. 8224 // Note: As with all `bytes` fields, protobuffers use a pure 8225 // binary 8226 // representation, whereas JSON representations use base64. 8227 // 8228 // Currently, this field only works for BatchAnnotateFiles requests. It 8229 // does 8230 // not work for AsyncBatchAnnotateFiles requests. 8231 Content string `json:"content,omitempty"` 8232 8233 // GcsSource: The Google Cloud Storage location to read the input from. 8234 GcsSource *GoogleCloudVisionV1p3beta1GcsSource `json:"gcsSource,omitempty"` 8235 8236 // MimeType: The type of the file. Currently only "application/pdf", 8237 // "image/tiff" and 8238 // "image/gif" are supported. Wildcards are not supported. 8239 MimeType string `json:"mimeType,omitempty"` 8240 8241 // ForceSendFields is a list of field names (e.g. "Content") to 8242 // unconditionally include in API requests. By default, fields with 8243 // empty values are omitted from API requests. However, any non-pointer, 8244 // non-interface field appearing in ForceSendFields will be sent to the 8245 // server regardless of whether the field is empty or not. This may be 8246 // used to include empty fields in Patch requests. 8247 ForceSendFields []string `json:"-"` 8248 8249 // NullFields is a list of field names (e.g. "Content") to include in 8250 // API requests with the JSON null value. By default, fields with empty 8251 // values are omitted from API requests. However, any field with an 8252 // empty value appearing in NullFields will be sent to the server as 8253 // null. It is an error if a field in this list has a non-empty value. 8254 // This may be used to include null fields in Patch requests. 8255 NullFields []string `json:"-"` 8256} 8257 8258func (s *GoogleCloudVisionV1p3beta1InputConfig) MarshalJSON() ([]byte, error) { 8259 type NoMethod GoogleCloudVisionV1p3beta1InputConfig 8260 raw := NoMethod(*s) 8261 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8262} 8263 8264// GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation: Set of detected 8265// objects with bounding boxes. 8266type GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation struct { 8267 // BoundingPoly: Image region to which this object belongs. This must be 8268 // populated. 8269 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 8270 8271 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 8272 // For more 8273 // information, 8274 // see 8275 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 8276 LanguageCode string `json:"languageCode,omitempty"` 8277 8278 // Mid: Object ID that should align with EntityAnnotation mid. 8279 Mid string `json:"mid,omitempty"` 8280 8281 // Name: Object name, expressed in its `language_code` language. 8282 Name string `json:"name,omitempty"` 8283 8284 // Score: Score of the result. Range [0, 1]. 8285 Score float64 `json:"score,omitempty"` 8286 8287 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 8288 // unconditionally include in API requests. By default, fields with 8289 // empty values are omitted from API requests. However, any non-pointer, 8290 // non-interface field appearing in ForceSendFields will be sent to the 8291 // server regardless of whether the field is empty or not. This may be 8292 // used to include empty fields in Patch requests. 8293 ForceSendFields []string `json:"-"` 8294 8295 // NullFields is a list of field names (e.g. "BoundingPoly") to include 8296 // in API requests with the JSON null value. By default, fields with 8297 // empty values are omitted from API requests. However, any field with 8298 // an empty value appearing in NullFields will be sent to the server as 8299 // null. It is an error if a field in this list has a non-empty value. 8300 // This may be used to include null fields in Patch requests. 8301 NullFields []string `json:"-"` 8302} 8303 8304func (s *GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 8305 type NoMethod GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation 8306 raw := NoMethod(*s) 8307 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8308} 8309 8310func (s *GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 8311 type NoMethod GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation 8312 var s1 struct { 8313 Score gensupport.JSONFloat64 `json:"score"` 8314 *NoMethod 8315 } 8316 s1.NoMethod = (*NoMethod)(s) 8317 if err := json.Unmarshal(data, &s1); err != nil { 8318 return err 8319 } 8320 s.Score = float64(s1.Score) 8321 return nil 8322} 8323 8324// GoogleCloudVisionV1p3beta1LocationInfo: Detected entity location 8325// information. 8326type GoogleCloudVisionV1p3beta1LocationInfo struct { 8327 // LatLng: lat/long location coordinates. 8328 LatLng *LatLng `json:"latLng,omitempty"` 8329 8330 // ForceSendFields is a list of field names (e.g. "LatLng") to 8331 // unconditionally include in API requests. By default, fields with 8332 // empty values are omitted from API requests. However, any non-pointer, 8333 // non-interface field appearing in ForceSendFields will be sent to the 8334 // server regardless of whether the field is empty or not. This may be 8335 // used to include empty fields in Patch requests. 8336 ForceSendFields []string `json:"-"` 8337 8338 // NullFields is a list of field names (e.g. "LatLng") to include in API 8339 // requests with the JSON null value. By default, fields with empty 8340 // values are omitted from API requests. However, any field with an 8341 // empty value appearing in NullFields will be sent to the server as 8342 // null. It is an error if a field in this list has a non-empty value. 8343 // This may be used to include null fields in Patch requests. 8344 NullFields []string `json:"-"` 8345} 8346 8347func (s *GoogleCloudVisionV1p3beta1LocationInfo) MarshalJSON() ([]byte, error) { 8348 type NoMethod GoogleCloudVisionV1p3beta1LocationInfo 8349 raw := NoMethod(*s) 8350 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8351} 8352 8353// GoogleCloudVisionV1p3beta1NormalizedVertex: A vertex represents a 2D 8354// point in the image. 8355// NOTE: the normalized vertex coordinates are relative to the original 8356// image 8357// and range from 0 to 1. 8358type GoogleCloudVisionV1p3beta1NormalizedVertex struct { 8359 // X: X coordinate. 8360 X float64 `json:"x,omitempty"` 8361 8362 // Y: Y coordinate. 8363 Y float64 `json:"y,omitempty"` 8364 8365 // ForceSendFields is a list of field names (e.g. "X") to 8366 // unconditionally include in API requests. By default, fields with 8367 // empty values are omitted from API requests. However, any non-pointer, 8368 // non-interface field appearing in ForceSendFields will be sent to the 8369 // server regardless of whether the field is empty or not. This may be 8370 // used to include empty fields in Patch requests. 8371 ForceSendFields []string `json:"-"` 8372 8373 // NullFields is a list of field names (e.g. "X") to include in API 8374 // requests with the JSON null value. By default, fields with empty 8375 // values are omitted from API requests. However, any field with an 8376 // empty value appearing in NullFields will be sent to the server as 8377 // null. It is an error if a field in this list has a non-empty value. 8378 // This may be used to include null fields in Patch requests. 8379 NullFields []string `json:"-"` 8380} 8381 8382func (s *GoogleCloudVisionV1p3beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 8383 type NoMethod GoogleCloudVisionV1p3beta1NormalizedVertex 8384 raw := NoMethod(*s) 8385 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8386} 8387 8388func (s *GoogleCloudVisionV1p3beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 8389 type NoMethod GoogleCloudVisionV1p3beta1NormalizedVertex 8390 var s1 struct { 8391 X gensupport.JSONFloat64 `json:"x"` 8392 Y gensupport.JSONFloat64 `json:"y"` 8393 *NoMethod 8394 } 8395 s1.NoMethod = (*NoMethod)(s) 8396 if err := json.Unmarshal(data, &s1); err != nil { 8397 return err 8398 } 8399 s.X = float64(s1.X) 8400 s.Y = float64(s1.Y) 8401 return nil 8402} 8403 8404// GoogleCloudVisionV1p3beta1OperationMetadata: Contains metadata for 8405// the BatchAnnotateImages operation. 8406type GoogleCloudVisionV1p3beta1OperationMetadata struct { 8407 // CreateTime: The time when the batch request was received. 8408 CreateTime string `json:"createTime,omitempty"` 8409 8410 // State: Current state of the batch operation. 8411 // 8412 // Possible values: 8413 // "STATE_UNSPECIFIED" - Invalid. 8414 // "CREATED" - Request is received. 8415 // "RUNNING" - Request is actively being processed. 8416 // "DONE" - The batch processing is done. 8417 // "CANCELLED" - The batch processing was cancelled. 8418 State string `json:"state,omitempty"` 8419 8420 // UpdateTime: The time when the operation result was last updated. 8421 UpdateTime string `json:"updateTime,omitempty"` 8422 8423 // ForceSendFields is a list of field names (e.g. "CreateTime") to 8424 // unconditionally include in API requests. By default, fields with 8425 // empty values are omitted from API requests. However, any non-pointer, 8426 // non-interface field appearing in ForceSendFields will be sent to the 8427 // server regardless of whether the field is empty or not. This may be 8428 // used to include empty fields in Patch requests. 8429 ForceSendFields []string `json:"-"` 8430 8431 // NullFields is a list of field names (e.g. "CreateTime") to include in 8432 // API requests with the JSON null value. By default, fields with empty 8433 // values are omitted from API requests. However, any field with an 8434 // empty value appearing in NullFields will be sent to the server as 8435 // null. It is an error if a field in this list has a non-empty value. 8436 // This may be used to include null fields in Patch requests. 8437 NullFields []string `json:"-"` 8438} 8439 8440func (s *GoogleCloudVisionV1p3beta1OperationMetadata) MarshalJSON() ([]byte, error) { 8441 type NoMethod GoogleCloudVisionV1p3beta1OperationMetadata 8442 raw := NoMethod(*s) 8443 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8444} 8445 8446// GoogleCloudVisionV1p3beta1OutputConfig: The desired output location 8447// and metadata. 8448type GoogleCloudVisionV1p3beta1OutputConfig struct { 8449 // BatchSize: The max number of response protos to put into each output 8450 // JSON file on 8451 // Google Cloud Storage. 8452 // The valid range is [1, 100]. If not specified, the default value is 8453 // 20. 8454 // 8455 // For example, for one pdf file with 100 pages, 100 response protos 8456 // will 8457 // be generated. If `batch_size` = 20, then 5 json files each 8458 // containing 20 response protos will be written under the 8459 // prefix 8460 // `gcs_destination`.`uri`. 8461 // 8462 // Currently, batch_size only applies to GcsDestination, with potential 8463 // future 8464 // support for other output configurations. 8465 BatchSize int64 `json:"batchSize,omitempty"` 8466 8467 // GcsDestination: The Google Cloud Storage location to write the 8468 // output(s) to. 8469 GcsDestination *GoogleCloudVisionV1p3beta1GcsDestination `json:"gcsDestination,omitempty"` 8470 8471 // ForceSendFields is a list of field names (e.g. "BatchSize") to 8472 // unconditionally include in API requests. By default, fields with 8473 // empty values are omitted from API requests. However, any non-pointer, 8474 // non-interface field appearing in ForceSendFields will be sent to the 8475 // server regardless of whether the field is empty or not. This may be 8476 // used to include empty fields in Patch requests. 8477 ForceSendFields []string `json:"-"` 8478 8479 // NullFields is a list of field names (e.g. "BatchSize") to include in 8480 // API requests with the JSON null value. By default, fields with empty 8481 // values are omitted from API requests. However, any field with an 8482 // empty value appearing in NullFields will be sent to the server as 8483 // null. It is an error if a field in this list has a non-empty value. 8484 // This may be used to include null fields in Patch requests. 8485 NullFields []string `json:"-"` 8486} 8487 8488func (s *GoogleCloudVisionV1p3beta1OutputConfig) MarshalJSON() ([]byte, error) { 8489 type NoMethod GoogleCloudVisionV1p3beta1OutputConfig 8490 raw := NoMethod(*s) 8491 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8492} 8493 8494// GoogleCloudVisionV1p3beta1Page: Detected page from OCR. 8495type GoogleCloudVisionV1p3beta1Page struct { 8496 // Blocks: List of blocks of text, images etc on this page. 8497 Blocks []*GoogleCloudVisionV1p3beta1Block `json:"blocks,omitempty"` 8498 8499 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 8500 Confidence float64 `json:"confidence,omitempty"` 8501 8502 // Height: Page height. For PDFs the unit is points. For images 8503 // (including 8504 // TIFFs) the unit is pixels. 8505 Height int64 `json:"height,omitempty"` 8506 8507 // Property: Additional information detected on the page. 8508 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 8509 8510 // Width: Page width. For PDFs the unit is points. For images 8511 // (including 8512 // TIFFs) the unit is pixels. 8513 Width int64 `json:"width,omitempty"` 8514 8515 // ForceSendFields is a list of field names (e.g. "Blocks") to 8516 // unconditionally include in API requests. By default, fields with 8517 // empty values are omitted from API requests. However, any non-pointer, 8518 // non-interface field appearing in ForceSendFields will be sent to the 8519 // server regardless of whether the field is empty or not. This may be 8520 // used to include empty fields in Patch requests. 8521 ForceSendFields []string `json:"-"` 8522 8523 // NullFields is a list of field names (e.g. "Blocks") to include in API 8524 // requests with the JSON null value. By default, fields with empty 8525 // values are omitted from API requests. However, any field with an 8526 // empty value appearing in NullFields will be sent to the server as 8527 // null. It is an error if a field in this list has a non-empty value. 8528 // This may be used to include null fields in Patch requests. 8529 NullFields []string `json:"-"` 8530} 8531 8532func (s *GoogleCloudVisionV1p3beta1Page) MarshalJSON() ([]byte, error) { 8533 type NoMethod GoogleCloudVisionV1p3beta1Page 8534 raw := NoMethod(*s) 8535 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8536} 8537 8538func (s *GoogleCloudVisionV1p3beta1Page) UnmarshalJSON(data []byte) error { 8539 type NoMethod GoogleCloudVisionV1p3beta1Page 8540 var s1 struct { 8541 Confidence gensupport.JSONFloat64 `json:"confidence"` 8542 *NoMethod 8543 } 8544 s1.NoMethod = (*NoMethod)(s) 8545 if err := json.Unmarshal(data, &s1); err != nil { 8546 return err 8547 } 8548 s.Confidence = float64(s1.Confidence) 8549 return nil 8550} 8551 8552// GoogleCloudVisionV1p3beta1Paragraph: Structural unit of text 8553// representing a number of words in certain order. 8554type GoogleCloudVisionV1p3beta1Paragraph struct { 8555 // BoundingBox: The bounding box for the paragraph. 8556 // The vertices are in the order of top-left, top-right, 8557 // bottom-right, 8558 // bottom-left. When a rotation of the bounding box is detected the 8559 // rotation 8560 // is represented as around the top-left corner as defined when the text 8561 // is 8562 // read in the 'natural' orientation. 8563 // For example: 8564 // * when the text is horizontal it might look like: 8565 // 0----1 8566 // | | 8567 // 3----2 8568 // * when it's rotated 180 degrees around the top-left corner it 8569 // becomes: 8570 // 2----3 8571 // | | 8572 // 1----0 8573 // and the vertex order will still be (0, 1, 2, 3). 8574 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 8575 8576 // Confidence: Confidence of the OCR results for the paragraph. Range 8577 // [0, 1]. 8578 Confidence float64 `json:"confidence,omitempty"` 8579 8580 // Property: Additional information detected for the paragraph. 8581 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 8582 8583 // Words: List of words in this paragraph. 8584 Words []*GoogleCloudVisionV1p3beta1Word `json:"words,omitempty"` 8585 8586 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 8587 // unconditionally include in API requests. By default, fields with 8588 // empty values are omitted from API requests. However, any non-pointer, 8589 // non-interface field appearing in ForceSendFields will be sent to the 8590 // server regardless of whether the field is empty or not. This may be 8591 // used to include empty fields in Patch requests. 8592 ForceSendFields []string `json:"-"` 8593 8594 // NullFields is a list of field names (e.g. "BoundingBox") to include 8595 // in API requests with the JSON null value. By default, fields with 8596 // empty values are omitted from API requests. However, any field with 8597 // an empty value appearing in NullFields will be sent to the server as 8598 // null. It is an error if a field in this list has a non-empty value. 8599 // This may be used to include null fields in Patch requests. 8600 NullFields []string `json:"-"` 8601} 8602 8603func (s *GoogleCloudVisionV1p3beta1Paragraph) MarshalJSON() ([]byte, error) { 8604 type NoMethod GoogleCloudVisionV1p3beta1Paragraph 8605 raw := NoMethod(*s) 8606 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8607} 8608 8609func (s *GoogleCloudVisionV1p3beta1Paragraph) UnmarshalJSON(data []byte) error { 8610 type NoMethod GoogleCloudVisionV1p3beta1Paragraph 8611 var s1 struct { 8612 Confidence gensupport.JSONFloat64 `json:"confidence"` 8613 *NoMethod 8614 } 8615 s1.NoMethod = (*NoMethod)(s) 8616 if err := json.Unmarshal(data, &s1); err != nil { 8617 return err 8618 } 8619 s.Confidence = float64(s1.Confidence) 8620 return nil 8621} 8622 8623// GoogleCloudVisionV1p3beta1Position: A 3D position in the image, used 8624// primarily for Face detection landmarks. 8625// A valid Position must have both x and y coordinates. 8626// The position coordinates are in the same scale as the original image. 8627type GoogleCloudVisionV1p3beta1Position struct { 8628 // X: X coordinate. 8629 X float64 `json:"x,omitempty"` 8630 8631 // Y: Y coordinate. 8632 Y float64 `json:"y,omitempty"` 8633 8634 // Z: Z coordinate (or depth). 8635 Z float64 `json:"z,omitempty"` 8636 8637 // ForceSendFields is a list of field names (e.g. "X") to 8638 // unconditionally include in API requests. By default, fields with 8639 // empty values are omitted from API requests. However, any non-pointer, 8640 // non-interface field appearing in ForceSendFields will be sent to the 8641 // server regardless of whether the field is empty or not. This may be 8642 // used to include empty fields in Patch requests. 8643 ForceSendFields []string `json:"-"` 8644 8645 // NullFields is a list of field names (e.g. "X") to include in API 8646 // requests with the JSON null value. By default, fields with empty 8647 // values are omitted from API requests. However, any field with an 8648 // empty value appearing in NullFields will be sent to the server as 8649 // null. It is an error if a field in this list has a non-empty value. 8650 // This may be used to include null fields in Patch requests. 8651 NullFields []string `json:"-"` 8652} 8653 8654func (s *GoogleCloudVisionV1p3beta1Position) MarshalJSON() ([]byte, error) { 8655 type NoMethod GoogleCloudVisionV1p3beta1Position 8656 raw := NoMethod(*s) 8657 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8658} 8659 8660func (s *GoogleCloudVisionV1p3beta1Position) UnmarshalJSON(data []byte) error { 8661 type NoMethod GoogleCloudVisionV1p3beta1Position 8662 var s1 struct { 8663 X gensupport.JSONFloat64 `json:"x"` 8664 Y gensupport.JSONFloat64 `json:"y"` 8665 Z gensupport.JSONFloat64 `json:"z"` 8666 *NoMethod 8667 } 8668 s1.NoMethod = (*NoMethod)(s) 8669 if err := json.Unmarshal(data, &s1); err != nil { 8670 return err 8671 } 8672 s.X = float64(s1.X) 8673 s.Y = float64(s1.Y) 8674 s.Z = float64(s1.Z) 8675 return nil 8676} 8677 8678// GoogleCloudVisionV1p3beta1Product: A Product contains 8679// ReferenceImages. 8680type GoogleCloudVisionV1p3beta1Product struct { 8681 // Description: User-provided metadata to be stored with this product. 8682 // Must be at most 4096 8683 // characters long. 8684 Description string `json:"description,omitempty"` 8685 8686 // DisplayName: The user-provided name for this Product. Must not be 8687 // empty. Must be at most 8688 // 4096 characters long. 8689 DisplayName string `json:"displayName,omitempty"` 8690 8691 // Name: The resource name of the product. 8692 // 8693 // Format 8694 // is: 8695 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 8696 // 8697 // This field is ignored when creating a product. 8698 Name string `json:"name,omitempty"` 8699 8700 // ProductCategory: The category for the product identified by the 8701 // reference image. This should 8702 // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy 8703 // categories 8704 // "homegoods", "apparel", and "toys" are still supported, but these 8705 // should 8706 // not be used for new products. 8707 // 8708 // This field is immutable. 8709 ProductCategory string `json:"productCategory,omitempty"` 8710 8711 // ProductLabels: Key-value pairs that can be attached to a product. At 8712 // query time, 8713 // constraints can be specified based on the product_labels. 8714 // 8715 // Note that integer values can be provided as strings, e.g. "1199". 8716 // Only 8717 // strings with integer values can match a range-based restriction which 8718 // is 8719 // to be supported soon. 8720 // 8721 // Multiple values can be assigned to the same key. One product may have 8722 // up to 8723 // 100 product_labels. 8724 ProductLabels []*GoogleCloudVisionV1p3beta1ProductKeyValue `json:"productLabels,omitempty"` 8725 8726 // ForceSendFields is a list of field names (e.g. "Description") to 8727 // unconditionally include in API requests. By default, fields with 8728 // empty values are omitted from API requests. However, any non-pointer, 8729 // non-interface field appearing in ForceSendFields will be sent to the 8730 // server regardless of whether the field is empty or not. This may be 8731 // used to include empty fields in Patch requests. 8732 ForceSendFields []string `json:"-"` 8733 8734 // NullFields is a list of field names (e.g. "Description") to include 8735 // in API requests with the JSON null value. By default, fields with 8736 // empty values are omitted from API requests. However, any field with 8737 // an empty value appearing in NullFields will be sent to the server as 8738 // null. It is an error if a field in this list has a non-empty value. 8739 // This may be used to include null fields in Patch requests. 8740 NullFields []string `json:"-"` 8741} 8742 8743func (s *GoogleCloudVisionV1p3beta1Product) MarshalJSON() ([]byte, error) { 8744 type NoMethod GoogleCloudVisionV1p3beta1Product 8745 raw := NoMethod(*s) 8746 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8747} 8748 8749// GoogleCloudVisionV1p3beta1ProductKeyValue: A product label 8750// represented as a key-value pair. 8751type GoogleCloudVisionV1p3beta1ProductKeyValue struct { 8752 // Key: The key of the label attached to the product. Cannot be empty 8753 // and cannot 8754 // exceed 128 bytes. 8755 Key string `json:"key,omitempty"` 8756 8757 // Value: The value of the label attached to the product. Cannot be 8758 // empty and 8759 // cannot exceed 128 bytes. 8760 Value string `json:"value,omitempty"` 8761 8762 // ForceSendFields is a list of field names (e.g. "Key") to 8763 // unconditionally include in API requests. By default, fields with 8764 // empty values are omitted from API requests. However, any non-pointer, 8765 // non-interface field appearing in ForceSendFields will be sent to the 8766 // server regardless of whether the field is empty or not. This may be 8767 // used to include empty fields in Patch requests. 8768 ForceSendFields []string `json:"-"` 8769 8770 // NullFields is a list of field names (e.g. "Key") to include in API 8771 // requests with the JSON null value. By default, fields with empty 8772 // values are omitted from API requests. However, any field with an 8773 // empty value appearing in NullFields will be sent to the server as 8774 // null. It is an error if a field in this list has a non-empty value. 8775 // This may be used to include null fields in Patch requests. 8776 NullFields []string `json:"-"` 8777} 8778 8779func (s *GoogleCloudVisionV1p3beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 8780 type NoMethod GoogleCloudVisionV1p3beta1ProductKeyValue 8781 raw := NoMethod(*s) 8782 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8783} 8784 8785// GoogleCloudVisionV1p3beta1ProductSearchResults: Results for a product 8786// search request. 8787type GoogleCloudVisionV1p3beta1ProductSearchResults struct { 8788 // IndexTime: Timestamp of the index which provided these results. 8789 // Products added to the 8790 // product set and products removed from the product set after this time 8791 // are 8792 // not reflected in the current results. 8793 IndexTime string `json:"indexTime,omitempty"` 8794 8795 // ProductGroupedResults: List of results grouped by products detected 8796 // in the query image. Each entry 8797 // corresponds to one bounding polygon in the query image, and contains 8798 // the 8799 // matching products specific to that region. There may be duplicate 8800 // product 8801 // matches in the union of all the per-product results. 8802 ProductGroupedResults []*GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 8803 8804 // Results: List of results, one for each product match. 8805 Results []*GoogleCloudVisionV1p3beta1ProductSearchResultsResult `json:"results,omitempty"` 8806 8807 // ForceSendFields is a list of field names (e.g. "IndexTime") to 8808 // unconditionally include in API requests. By default, fields with 8809 // empty values are omitted from API requests. However, any non-pointer, 8810 // non-interface field appearing in ForceSendFields will be sent to the 8811 // server regardless of whether the field is empty or not. This may be 8812 // used to include empty fields in Patch requests. 8813 ForceSendFields []string `json:"-"` 8814 8815 // NullFields is a list of field names (e.g. "IndexTime") to include in 8816 // API requests with the JSON null value. By default, fields with empty 8817 // values are omitted from API requests. However, any field with an 8818 // empty value appearing in NullFields will be sent to the server as 8819 // null. It is an error if a field in this list has a non-empty value. 8820 // This may be used to include null fields in Patch requests. 8821 NullFields []string `json:"-"` 8822} 8823 8824func (s *GoogleCloudVisionV1p3beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 8825 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResults 8826 raw := NoMethod(*s) 8827 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8828} 8829 8830// GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult: 8831// Information about the products similar to a single product in a 8832// query 8833// image. 8834type GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult struct { 8835 // BoundingPoly: The bounding polygon around the product detected in the 8836 // query image. 8837 BoundingPoly *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPoly,omitempty"` 8838 8839 // Results: List of results, one for each product match. 8840 Results []*GoogleCloudVisionV1p3beta1ProductSearchResultsResult `json:"results,omitempty"` 8841 8842 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 8843 // unconditionally include in API requests. By default, fields with 8844 // empty values are omitted from API requests. However, any non-pointer, 8845 // non-interface field appearing in ForceSendFields will be sent to the 8846 // server regardless of whether the field is empty or not. This may be 8847 // used to include empty fields in Patch requests. 8848 ForceSendFields []string `json:"-"` 8849 8850 // NullFields is a list of field names (e.g. "BoundingPoly") to include 8851 // in API requests with the JSON null value. By default, fields with 8852 // empty values are omitted from API requests. However, any field with 8853 // an empty value appearing in NullFields will be sent to the server as 8854 // null. It is an error if a field in this list has a non-empty value. 8855 // This may be used to include null fields in Patch requests. 8856 NullFields []string `json:"-"` 8857} 8858 8859func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 8860 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult 8861 raw := NoMethod(*s) 8862 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8863} 8864 8865// GoogleCloudVisionV1p3beta1ProductSearchResultsResult: Information 8866// about a product. 8867type GoogleCloudVisionV1p3beta1ProductSearchResultsResult struct { 8868 // Image: The resource name of the image from the product that is the 8869 // closest match 8870 // to the query. 8871 Image string `json:"image,omitempty"` 8872 8873 // Product: The Product. 8874 Product *GoogleCloudVisionV1p3beta1Product `json:"product,omitempty"` 8875 8876 // Score: A confidence level on the match, ranging from 0 (no 8877 // confidence) to 8878 // 1 (full confidence). 8879 Score float64 `json:"score,omitempty"` 8880 8881 // ForceSendFields is a list of field names (e.g. "Image") to 8882 // unconditionally include in API requests. By default, fields with 8883 // empty values are omitted from API requests. However, any non-pointer, 8884 // non-interface field appearing in ForceSendFields will be sent to the 8885 // server regardless of whether the field is empty or not. This may be 8886 // used to include empty fields in Patch requests. 8887 ForceSendFields []string `json:"-"` 8888 8889 // NullFields is a list of field names (e.g. "Image") to include in API 8890 // requests with the JSON null value. By default, fields with empty 8891 // values are omitted from API requests. However, any field with an 8892 // empty value appearing in NullFields will be sent to the server as 8893 // null. It is an error if a field in this list has a non-empty value. 8894 // This may be used to include null fields in Patch requests. 8895 NullFields []string `json:"-"` 8896} 8897 8898func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 8899 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsResult 8900 raw := NoMethod(*s) 8901 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8902} 8903 8904func (s *GoogleCloudVisionV1p3beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 8905 type NoMethod GoogleCloudVisionV1p3beta1ProductSearchResultsResult 8906 var s1 struct { 8907 Score gensupport.JSONFloat64 `json:"score"` 8908 *NoMethod 8909 } 8910 s1.NoMethod = (*NoMethod)(s) 8911 if err := json.Unmarshal(data, &s1); err != nil { 8912 return err 8913 } 8914 s.Score = float64(s1.Score) 8915 return nil 8916} 8917 8918// GoogleCloudVisionV1p3beta1Property: A `Property` consists of a 8919// user-supplied name/value pair. 8920type GoogleCloudVisionV1p3beta1Property struct { 8921 // Name: Name of the property. 8922 Name string `json:"name,omitempty"` 8923 8924 // Uint64Value: Value of numeric properties. 8925 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 8926 8927 // Value: Value of the property. 8928 Value string `json:"value,omitempty"` 8929 8930 // ForceSendFields is a list of field names (e.g. "Name") to 8931 // unconditionally include in API requests. By default, fields with 8932 // empty values are omitted from API requests. However, any non-pointer, 8933 // non-interface field appearing in ForceSendFields will be sent to the 8934 // server regardless of whether the field is empty or not. This may be 8935 // used to include empty fields in Patch requests. 8936 ForceSendFields []string `json:"-"` 8937 8938 // NullFields is a list of field names (e.g. "Name") to include in API 8939 // requests with the JSON null value. By default, fields with empty 8940 // values are omitted from API requests. However, any field with an 8941 // empty value appearing in NullFields will be sent to the server as 8942 // null. It is an error if a field in this list has a non-empty value. 8943 // This may be used to include null fields in Patch requests. 8944 NullFields []string `json:"-"` 8945} 8946 8947func (s *GoogleCloudVisionV1p3beta1Property) MarshalJSON() ([]byte, error) { 8948 type NoMethod GoogleCloudVisionV1p3beta1Property 8949 raw := NoMethod(*s) 8950 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 8951} 8952 8953// GoogleCloudVisionV1p3beta1ReferenceImage: A `ReferenceImage` 8954// represents a product image and its associated metadata, 8955// such as bounding boxes. 8956type GoogleCloudVisionV1p3beta1ReferenceImage struct { 8957 // BoundingPolys: Bounding polygons around the areas of interest in the 8958 // reference image. 8959 // Optional. If this field is empty, the system will try to detect 8960 // regions of 8961 // interest. At most 10 bounding polygons will be used. 8962 // 8963 // The provided shape is converted into a non-rotated rectangle. 8964 // Once 8965 // converted, the small edge of the rectangle must be greater than or 8966 // equal 8967 // to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 8968 // 1:5 8969 // is not). 8970 BoundingPolys []*GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingPolys,omitempty"` 8971 8972 // Name: The resource name of the reference image. 8973 // 8974 // Format 8975 // is: 8976 // 8977 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referen 8978 // ceImages/IMAGE_ID`. 8979 // 8980 // This field is ignored when creating a reference image. 8981 Name string `json:"name,omitempty"` 8982 8983 // Uri: The Google Cloud Storage URI of the reference image. 8984 // 8985 // The URI must start with `gs://`. 8986 // 8987 // Required. 8988 Uri string `json:"uri,omitempty"` 8989 8990 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 8991 // unconditionally include in API requests. By default, fields with 8992 // empty values are omitted from API requests. However, any non-pointer, 8993 // non-interface field appearing in ForceSendFields will be sent to the 8994 // server regardless of whether the field is empty or not. This may be 8995 // used to include empty fields in Patch requests. 8996 ForceSendFields []string `json:"-"` 8997 8998 // NullFields is a list of field names (e.g. "BoundingPolys") to include 8999 // in API requests with the JSON null value. By default, fields with 9000 // empty values are omitted from API requests. However, any field with 9001 // an empty value appearing in NullFields will be sent to the server as 9002 // null. It is an error if a field in this list has a non-empty value. 9003 // This may be used to include null fields in Patch requests. 9004 NullFields []string `json:"-"` 9005} 9006 9007func (s *GoogleCloudVisionV1p3beta1ReferenceImage) MarshalJSON() ([]byte, error) { 9008 type NoMethod GoogleCloudVisionV1p3beta1ReferenceImage 9009 raw := NoMethod(*s) 9010 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9011} 9012 9013// GoogleCloudVisionV1p3beta1SafeSearchAnnotation: Set of features 9014// pertaining to the image, computed by computer vision 9015// methods over safe-search verticals (for example, adult, spoof, 9016// medical, 9017// violence). 9018type GoogleCloudVisionV1p3beta1SafeSearchAnnotation struct { 9019 // Adult: Represents the adult content likelihood for the image. Adult 9020 // content may 9021 // contain elements such as nudity, pornographic images or cartoons, 9022 // or 9023 // sexual activities. 9024 // 9025 // Possible values: 9026 // "UNKNOWN" - Unknown likelihood. 9027 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 9028 // specified vertical. 9029 // "UNLIKELY" - It is unlikely that the image belongs to the specified 9030 // vertical. 9031 // "POSSIBLE" - It is possible that the image belongs to the specified 9032 // vertical. 9033 // "LIKELY" - It is likely that the image belongs to the specified 9034 // vertical. 9035 // "VERY_LIKELY" - It is very likely that the image belongs to the 9036 // specified vertical. 9037 Adult string `json:"adult,omitempty"` 9038 9039 // Medical: Likelihood that this is a medical image. 9040 // 9041 // Possible values: 9042 // "UNKNOWN" - Unknown likelihood. 9043 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 9044 // specified vertical. 9045 // "UNLIKELY" - It is unlikely that the image belongs to the specified 9046 // vertical. 9047 // "POSSIBLE" - It is possible that the image belongs to the specified 9048 // vertical. 9049 // "LIKELY" - It is likely that the image belongs to the specified 9050 // vertical. 9051 // "VERY_LIKELY" - It is very likely that the image belongs to the 9052 // specified vertical. 9053 Medical string `json:"medical,omitempty"` 9054 9055 // Racy: Likelihood that the request image contains racy content. Racy 9056 // content may 9057 // include (but is not limited to) skimpy or sheer clothing, 9058 // strategically 9059 // covered nudity, lewd or provocative poses, or close-ups of 9060 // sensitive 9061 // body areas. 9062 // 9063 // Possible values: 9064 // "UNKNOWN" - Unknown likelihood. 9065 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 9066 // specified vertical. 9067 // "UNLIKELY" - It is unlikely that the image belongs to the specified 9068 // vertical. 9069 // "POSSIBLE" - It is possible that the image belongs to the specified 9070 // vertical. 9071 // "LIKELY" - It is likely that the image belongs to the specified 9072 // vertical. 9073 // "VERY_LIKELY" - It is very likely that the image belongs to the 9074 // specified vertical. 9075 Racy string `json:"racy,omitempty"` 9076 9077 // Spoof: Spoof likelihood. The likelihood that an modification 9078 // was made to the image's canonical version to make it appear 9079 // funny or offensive. 9080 // 9081 // Possible values: 9082 // "UNKNOWN" - Unknown likelihood. 9083 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 9084 // specified vertical. 9085 // "UNLIKELY" - It is unlikely that the image belongs to the specified 9086 // vertical. 9087 // "POSSIBLE" - It is possible that the image belongs to the specified 9088 // vertical. 9089 // "LIKELY" - It is likely that the image belongs to the specified 9090 // vertical. 9091 // "VERY_LIKELY" - It is very likely that the image belongs to the 9092 // specified vertical. 9093 Spoof string `json:"spoof,omitempty"` 9094 9095 // Violence: Likelihood that this image contains violent content. 9096 // 9097 // Possible values: 9098 // "UNKNOWN" - Unknown likelihood. 9099 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 9100 // specified vertical. 9101 // "UNLIKELY" - It is unlikely that the image belongs to the specified 9102 // vertical. 9103 // "POSSIBLE" - It is possible that the image belongs to the specified 9104 // vertical. 9105 // "LIKELY" - It is likely that the image belongs to the specified 9106 // vertical. 9107 // "VERY_LIKELY" - It is very likely that the image belongs to the 9108 // specified vertical. 9109 Violence string `json:"violence,omitempty"` 9110 9111 // ForceSendFields is a list of field names (e.g. "Adult") to 9112 // unconditionally include in API requests. By default, fields with 9113 // empty values are omitted from API requests. However, any non-pointer, 9114 // non-interface field appearing in ForceSendFields will be sent to the 9115 // server regardless of whether the field is empty or not. This may be 9116 // used to include empty fields in Patch requests. 9117 ForceSendFields []string `json:"-"` 9118 9119 // NullFields is a list of field names (e.g. "Adult") to include in API 9120 // requests with the JSON null value. By default, fields with empty 9121 // values are omitted from API requests. However, any field with an 9122 // empty value appearing in NullFields will be sent to the server as 9123 // null. It is an error if a field in this list has a non-empty value. 9124 // This may be used to include null fields in Patch requests. 9125 NullFields []string `json:"-"` 9126} 9127 9128func (s *GoogleCloudVisionV1p3beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 9129 type NoMethod GoogleCloudVisionV1p3beta1SafeSearchAnnotation 9130 raw := NoMethod(*s) 9131 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9132} 9133 9134// GoogleCloudVisionV1p3beta1Symbol: A single symbol representation. 9135type GoogleCloudVisionV1p3beta1Symbol struct { 9136 // BoundingBox: The bounding box for the symbol. 9137 // The vertices are in the order of top-left, top-right, 9138 // bottom-right, 9139 // bottom-left. When a rotation of the bounding box is detected the 9140 // rotation 9141 // is represented as around the top-left corner as defined when the text 9142 // is 9143 // read in the 'natural' orientation. 9144 // For example: 9145 // * when the text is horizontal it might look like: 9146 // 0----1 9147 // | | 9148 // 3----2 9149 // * when it's rotated 180 degrees around the top-left corner it 9150 // becomes: 9151 // 2----3 9152 // | | 9153 // 1----0 9154 // and the vertice order will still be (0, 1, 2, 3). 9155 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 9156 9157 // Confidence: Confidence of the OCR results for the symbol. Range [0, 9158 // 1]. 9159 Confidence float64 `json:"confidence,omitempty"` 9160 9161 // Property: Additional information detected for the symbol. 9162 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 9163 9164 // Text: The actual UTF-8 representation of the symbol. 9165 Text string `json:"text,omitempty"` 9166 9167 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 9168 // unconditionally include in API requests. By default, fields with 9169 // empty values are omitted from API requests. However, any non-pointer, 9170 // non-interface field appearing in ForceSendFields will be sent to the 9171 // server regardless of whether the field is empty or not. This may be 9172 // used to include empty fields in Patch requests. 9173 ForceSendFields []string `json:"-"` 9174 9175 // NullFields is a list of field names (e.g. "BoundingBox") to include 9176 // in API requests with the JSON null value. By default, fields with 9177 // empty values are omitted from API requests. However, any field with 9178 // an empty value appearing in NullFields will be sent to the server as 9179 // null. It is an error if a field in this list has a non-empty value. 9180 // This may be used to include null fields in Patch requests. 9181 NullFields []string `json:"-"` 9182} 9183 9184func (s *GoogleCloudVisionV1p3beta1Symbol) MarshalJSON() ([]byte, error) { 9185 type NoMethod GoogleCloudVisionV1p3beta1Symbol 9186 raw := NoMethod(*s) 9187 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9188} 9189 9190func (s *GoogleCloudVisionV1p3beta1Symbol) UnmarshalJSON(data []byte) error { 9191 type NoMethod GoogleCloudVisionV1p3beta1Symbol 9192 var s1 struct { 9193 Confidence gensupport.JSONFloat64 `json:"confidence"` 9194 *NoMethod 9195 } 9196 s1.NoMethod = (*NoMethod)(s) 9197 if err := json.Unmarshal(data, &s1); err != nil { 9198 return err 9199 } 9200 s.Confidence = float64(s1.Confidence) 9201 return nil 9202} 9203 9204// GoogleCloudVisionV1p3beta1TextAnnotation: TextAnnotation contains a 9205// structured representation of OCR extracted text. 9206// The hierarchy of an OCR extracted text structure is like this: 9207// TextAnnotation -> Page -> Block -> Paragraph -> Word -> 9208// Symbol 9209// Each structural component, starting from Page, may further have their 9210// own 9211// properties. Properties describe detected languages, breaks etc.. 9212// Please refer 9213// to the TextAnnotation.TextProperty message definition below for 9214// more 9215// detail. 9216type GoogleCloudVisionV1p3beta1TextAnnotation struct { 9217 // Pages: List of pages detected by OCR. 9218 Pages []*GoogleCloudVisionV1p3beta1Page `json:"pages,omitempty"` 9219 9220 // Text: UTF-8 text detected on the pages. 9221 Text string `json:"text,omitempty"` 9222 9223 // ForceSendFields is a list of field names (e.g. "Pages") to 9224 // unconditionally include in API requests. By default, fields with 9225 // empty values are omitted from API requests. However, any non-pointer, 9226 // non-interface field appearing in ForceSendFields will be sent to the 9227 // server regardless of whether the field is empty or not. This may be 9228 // used to include empty fields in Patch requests. 9229 ForceSendFields []string `json:"-"` 9230 9231 // NullFields is a list of field names (e.g. "Pages") to include in API 9232 // requests with the JSON null value. By default, fields with empty 9233 // values are omitted from API requests. However, any field with an 9234 // empty value appearing in NullFields will be sent to the server as 9235 // null. It is an error if a field in this list has a non-empty value. 9236 // This may be used to include null fields in Patch requests. 9237 NullFields []string `json:"-"` 9238} 9239 9240func (s *GoogleCloudVisionV1p3beta1TextAnnotation) MarshalJSON() ([]byte, error) { 9241 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotation 9242 raw := NoMethod(*s) 9243 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9244} 9245 9246// GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak: Detected start 9247// or end of a structural component. 9248type GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak struct { 9249 // IsPrefix: True if break prepends the element. 9250 IsPrefix bool `json:"isPrefix,omitempty"` 9251 9252 // Type: Detected break type. 9253 // 9254 // Possible values: 9255 // "UNKNOWN" - Unknown break label type. 9256 // "SPACE" - Regular space. 9257 // "SURE_SPACE" - Sure space (very wide). 9258 // "EOL_SURE_SPACE" - Line-wrapping break. 9259 // "HYPHEN" - End-line hyphen that is not present in text; does not 9260 // co-occur with 9261 // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 9262 // "LINE_BREAK" - Line break that ends a paragraph. 9263 Type string `json:"type,omitempty"` 9264 9265 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 9266 // unconditionally include in API requests. By default, fields with 9267 // empty values are omitted from API requests. However, any non-pointer, 9268 // non-interface field appearing in ForceSendFields will be sent to the 9269 // server regardless of whether the field is empty or not. This may be 9270 // used to include empty fields in Patch requests. 9271 ForceSendFields []string `json:"-"` 9272 9273 // NullFields is a list of field names (e.g. "IsPrefix") to include in 9274 // API requests with the JSON null value. By default, fields with empty 9275 // values are omitted from API requests. However, any field with an 9276 // empty value appearing in NullFields will be sent to the server as 9277 // null. It is an error if a field in this list has a non-empty value. 9278 // This may be used to include null fields in Patch requests. 9279 NullFields []string `json:"-"` 9280} 9281 9282func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 9283 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak 9284 raw := NoMethod(*s) 9285 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9286} 9287 9288// GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage: Detected 9289// language for a structural component. 9290type GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage struct { 9291 // Confidence: Confidence of detected language. Range [0, 1]. 9292 Confidence float64 `json:"confidence,omitempty"` 9293 9294 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 9295 // For more 9296 // information, 9297 // see 9298 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 9299 LanguageCode string `json:"languageCode,omitempty"` 9300 9301 // ForceSendFields is a list of field names (e.g. "Confidence") to 9302 // unconditionally include in API requests. By default, fields with 9303 // empty values are omitted from API requests. However, any non-pointer, 9304 // non-interface field appearing in ForceSendFields will be sent to the 9305 // server regardless of whether the field is empty or not. This may be 9306 // used to include empty fields in Patch requests. 9307 ForceSendFields []string `json:"-"` 9308 9309 // NullFields is a list of field names (e.g. "Confidence") to include in 9310 // API requests with the JSON null value. By default, fields with empty 9311 // values are omitted from API requests. However, any field with an 9312 // empty value appearing in NullFields will be sent to the server as 9313 // null. It is an error if a field in this list has a non-empty value. 9314 // This may be used to include null fields in Patch requests. 9315 NullFields []string `json:"-"` 9316} 9317 9318func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 9319 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage 9320 raw := NoMethod(*s) 9321 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9322} 9323 9324func (s *GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 9325 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage 9326 var s1 struct { 9327 Confidence gensupport.JSONFloat64 `json:"confidence"` 9328 *NoMethod 9329 } 9330 s1.NoMethod = (*NoMethod)(s) 9331 if err := json.Unmarshal(data, &s1); err != nil { 9332 return err 9333 } 9334 s.Confidence = float64(s1.Confidence) 9335 return nil 9336} 9337 9338// GoogleCloudVisionV1p3beta1TextAnnotationTextProperty: Additional 9339// information detected on the structural component. 9340type GoogleCloudVisionV1p3beta1TextAnnotationTextProperty struct { 9341 // DetectedBreak: Detected start or end of a text segment. 9342 DetectedBreak *GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 9343 9344 // DetectedLanguages: A list of detected languages together with 9345 // confidence. 9346 DetectedLanguages []*GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 9347 9348 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 9349 // unconditionally include in API requests. By default, fields with 9350 // empty values are omitted from API requests. However, any non-pointer, 9351 // non-interface field appearing in ForceSendFields will be sent to the 9352 // server regardless of whether the field is empty or not. This may be 9353 // used to include empty fields in Patch requests. 9354 ForceSendFields []string `json:"-"` 9355 9356 // NullFields is a list of field names (e.g. "DetectedBreak") to include 9357 // in API requests with the JSON null value. By default, fields with 9358 // empty values are omitted from API requests. However, any field with 9359 // an empty value appearing in NullFields will be sent to the server as 9360 // null. It is an error if a field in this list has a non-empty value. 9361 // This may be used to include null fields in Patch requests. 9362 NullFields []string `json:"-"` 9363} 9364 9365func (s *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 9366 type NoMethod GoogleCloudVisionV1p3beta1TextAnnotationTextProperty 9367 raw := NoMethod(*s) 9368 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9369} 9370 9371// GoogleCloudVisionV1p3beta1Vertex: A vertex represents a 2D point in 9372// the image. 9373// NOTE: the vertex coordinates are in the same scale as the original 9374// image. 9375type GoogleCloudVisionV1p3beta1Vertex struct { 9376 // X: X coordinate. 9377 X int64 `json:"x,omitempty"` 9378 9379 // Y: Y coordinate. 9380 Y int64 `json:"y,omitempty"` 9381 9382 // ForceSendFields is a list of field names (e.g. "X") to 9383 // unconditionally include in API requests. By default, fields with 9384 // empty values are omitted from API requests. However, any non-pointer, 9385 // non-interface field appearing in ForceSendFields will be sent to the 9386 // server regardless of whether the field is empty or not. This may be 9387 // used to include empty fields in Patch requests. 9388 ForceSendFields []string `json:"-"` 9389 9390 // NullFields is a list of field names (e.g. "X") to include in API 9391 // requests with the JSON null value. By default, fields with empty 9392 // values are omitted from API requests. However, any field with an 9393 // empty value appearing in NullFields will be sent to the server as 9394 // null. It is an error if a field in this list has a non-empty value. 9395 // This may be used to include null fields in Patch requests. 9396 NullFields []string `json:"-"` 9397} 9398 9399func (s *GoogleCloudVisionV1p3beta1Vertex) MarshalJSON() ([]byte, error) { 9400 type NoMethod GoogleCloudVisionV1p3beta1Vertex 9401 raw := NoMethod(*s) 9402 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9403} 9404 9405// GoogleCloudVisionV1p3beta1WebDetection: Relevant information for the 9406// image from the Internet. 9407type GoogleCloudVisionV1p3beta1WebDetection struct { 9408 // BestGuessLabels: The service's best guess as to the topic of the 9409 // request image. 9410 // Inferred from similar images on the open web. 9411 BestGuessLabels []*GoogleCloudVisionV1p3beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 9412 9413 // FullMatchingImages: Fully matching images from the Internet. 9414 // Can include resized copies of the query image. 9415 FullMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 9416 9417 // PagesWithMatchingImages: Web pages containing the matching images 9418 // from the Internet. 9419 PagesWithMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 9420 9421 // PartialMatchingImages: Partial matching images from the 9422 // Internet. 9423 // Those images are similar enough to share some key-point features. 9424 // For 9425 // example an original image will likely have partial matching for its 9426 // crops. 9427 PartialMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 9428 9429 // VisuallySimilarImages: The visually similar image results. 9430 VisuallySimilarImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 9431 9432 // WebEntities: Deduced entities from similar images on the Internet. 9433 WebEntities []*GoogleCloudVisionV1p3beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 9434 9435 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 9436 // unconditionally include in API requests. By default, fields with 9437 // empty values are omitted from API requests. However, any non-pointer, 9438 // non-interface field appearing in ForceSendFields will be sent to the 9439 // server regardless of whether the field is empty or not. This may be 9440 // used to include empty fields in Patch requests. 9441 ForceSendFields []string `json:"-"` 9442 9443 // NullFields is a list of field names (e.g. "BestGuessLabels") to 9444 // include in API requests with the JSON null value. By default, fields 9445 // with empty values are omitted from API requests. However, any field 9446 // with an empty value appearing in NullFields will be sent to the 9447 // server as null. It is an error if a field in this list has a 9448 // non-empty value. This may be used to include null fields in Patch 9449 // requests. 9450 NullFields []string `json:"-"` 9451} 9452 9453func (s *GoogleCloudVisionV1p3beta1WebDetection) MarshalJSON() ([]byte, error) { 9454 type NoMethod GoogleCloudVisionV1p3beta1WebDetection 9455 raw := NoMethod(*s) 9456 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9457} 9458 9459// GoogleCloudVisionV1p3beta1WebDetectionWebEntity: Entity deduced from 9460// similar images on the Internet. 9461type GoogleCloudVisionV1p3beta1WebDetectionWebEntity struct { 9462 // Description: Canonical description of the entity, in English. 9463 Description string `json:"description,omitempty"` 9464 9465 // EntityId: Opaque entity ID. 9466 EntityId string `json:"entityId,omitempty"` 9467 9468 // Score: Overall relevancy score for the entity. 9469 // Not normalized and not comparable across different image queries. 9470 Score float64 `json:"score,omitempty"` 9471 9472 // ForceSendFields is a list of field names (e.g. "Description") to 9473 // unconditionally include in API requests. By default, fields with 9474 // empty values are omitted from API requests. However, any non-pointer, 9475 // non-interface field appearing in ForceSendFields will be sent to the 9476 // server regardless of whether the field is empty or not. This may be 9477 // used to include empty fields in Patch requests. 9478 ForceSendFields []string `json:"-"` 9479 9480 // NullFields is a list of field names (e.g. "Description") to include 9481 // in API requests with the JSON null value. By default, fields with 9482 // empty values are omitted from API requests. However, any field with 9483 // an empty value appearing in NullFields will be sent to the server as 9484 // null. It is an error if a field in this list has a non-empty value. 9485 // This may be used to include null fields in Patch requests. 9486 NullFields []string `json:"-"` 9487} 9488 9489func (s *GoogleCloudVisionV1p3beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 9490 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebEntity 9491 raw := NoMethod(*s) 9492 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9493} 9494 9495func (s *GoogleCloudVisionV1p3beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 9496 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebEntity 9497 var s1 struct { 9498 Score gensupport.JSONFloat64 `json:"score"` 9499 *NoMethod 9500 } 9501 s1.NoMethod = (*NoMethod)(s) 9502 if err := json.Unmarshal(data, &s1); err != nil { 9503 return err 9504 } 9505 s.Score = float64(s1.Score) 9506 return nil 9507} 9508 9509// GoogleCloudVisionV1p3beta1WebDetectionWebImage: Metadata for online 9510// images. 9511type GoogleCloudVisionV1p3beta1WebDetectionWebImage struct { 9512 // Score: (Deprecated) Overall relevancy score for the image. 9513 Score float64 `json:"score,omitempty"` 9514 9515 // Url: The result image URL. 9516 Url string `json:"url,omitempty"` 9517 9518 // ForceSendFields is a list of field names (e.g. "Score") to 9519 // unconditionally include in API requests. By default, fields with 9520 // empty values are omitted from API requests. However, any non-pointer, 9521 // non-interface field appearing in ForceSendFields will be sent to the 9522 // server regardless of whether the field is empty or not. This may be 9523 // used to include empty fields in Patch requests. 9524 ForceSendFields []string `json:"-"` 9525 9526 // NullFields is a list of field names (e.g. "Score") to include in API 9527 // requests with the JSON null value. By default, fields with empty 9528 // values are omitted from API requests. However, any field with an 9529 // empty value appearing in NullFields will be sent to the server as 9530 // null. It is an error if a field in this list has a non-empty value. 9531 // This may be used to include null fields in Patch requests. 9532 NullFields []string `json:"-"` 9533} 9534 9535func (s *GoogleCloudVisionV1p3beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 9536 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebImage 9537 raw := NoMethod(*s) 9538 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9539} 9540 9541func (s *GoogleCloudVisionV1p3beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 9542 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebImage 9543 var s1 struct { 9544 Score gensupport.JSONFloat64 `json:"score"` 9545 *NoMethod 9546 } 9547 s1.NoMethod = (*NoMethod)(s) 9548 if err := json.Unmarshal(data, &s1); err != nil { 9549 return err 9550 } 9551 s.Score = float64(s1.Score) 9552 return nil 9553} 9554 9555// GoogleCloudVisionV1p3beta1WebDetectionWebLabel: Label to provide 9556// extra metadata for the web detection. 9557type GoogleCloudVisionV1p3beta1WebDetectionWebLabel struct { 9558 // Label: Label for extra metadata. 9559 Label string `json:"label,omitempty"` 9560 9561 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 9562 // or "sr-Latn". 9563 // For more information, 9564 // see 9565 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 9566 LanguageCode string `json:"languageCode,omitempty"` 9567 9568 // ForceSendFields is a list of field names (e.g. "Label") to 9569 // unconditionally include in API requests. By default, fields with 9570 // empty values are omitted from API requests. However, any non-pointer, 9571 // non-interface field appearing in ForceSendFields will be sent to the 9572 // server regardless of whether the field is empty or not. This may be 9573 // used to include empty fields in Patch requests. 9574 ForceSendFields []string `json:"-"` 9575 9576 // NullFields is a list of field names (e.g. "Label") to include in API 9577 // requests with the JSON null value. By default, fields with empty 9578 // values are omitted from API requests. However, any field with an 9579 // empty value appearing in NullFields will be sent to the server as 9580 // null. It is an error if a field in this list has a non-empty value. 9581 // This may be used to include null fields in Patch requests. 9582 NullFields []string `json:"-"` 9583} 9584 9585func (s *GoogleCloudVisionV1p3beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 9586 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebLabel 9587 raw := NoMethod(*s) 9588 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9589} 9590 9591// GoogleCloudVisionV1p3beta1WebDetectionWebPage: Metadata for web 9592// pages. 9593type GoogleCloudVisionV1p3beta1WebDetectionWebPage struct { 9594 // FullMatchingImages: Fully matching images on the page. 9595 // Can include resized copies of the query image. 9596 FullMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 9597 9598 // PageTitle: Title for the web page, may contain HTML markups. 9599 PageTitle string `json:"pageTitle,omitempty"` 9600 9601 // PartialMatchingImages: Partial matching images on the page. 9602 // Those images are similar enough to share some key-point features. 9603 // For 9604 // example an original image will likely have partial matching for 9605 // its 9606 // crops. 9607 PartialMatchingImages []*GoogleCloudVisionV1p3beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 9608 9609 // Score: (Deprecated) Overall relevancy score for the web page. 9610 Score float64 `json:"score,omitempty"` 9611 9612 // Url: The result web page URL. 9613 Url string `json:"url,omitempty"` 9614 9615 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 9616 // to unconditionally include in API requests. By default, fields with 9617 // empty values are omitted from API requests. However, any non-pointer, 9618 // non-interface field appearing in ForceSendFields will be sent to the 9619 // server regardless of whether the field is empty or not. This may be 9620 // used to include empty fields in Patch requests. 9621 ForceSendFields []string `json:"-"` 9622 9623 // NullFields is a list of field names (e.g. "FullMatchingImages") to 9624 // include in API requests with the JSON null value. By default, fields 9625 // with empty values are omitted from API requests. However, any field 9626 // with an empty value appearing in NullFields will be sent to the 9627 // server as null. It is an error if a field in this list has a 9628 // non-empty value. This may be used to include null fields in Patch 9629 // requests. 9630 NullFields []string `json:"-"` 9631} 9632 9633func (s *GoogleCloudVisionV1p3beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 9634 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebPage 9635 raw := NoMethod(*s) 9636 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9637} 9638 9639func (s *GoogleCloudVisionV1p3beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 9640 type NoMethod GoogleCloudVisionV1p3beta1WebDetectionWebPage 9641 var s1 struct { 9642 Score gensupport.JSONFloat64 `json:"score"` 9643 *NoMethod 9644 } 9645 s1.NoMethod = (*NoMethod)(s) 9646 if err := json.Unmarshal(data, &s1); err != nil { 9647 return err 9648 } 9649 s.Score = float64(s1.Score) 9650 return nil 9651} 9652 9653// GoogleCloudVisionV1p3beta1Word: A word representation. 9654type GoogleCloudVisionV1p3beta1Word struct { 9655 // BoundingBox: The bounding box for the word. 9656 // The vertices are in the order of top-left, top-right, 9657 // bottom-right, 9658 // bottom-left. When a rotation of the bounding box is detected the 9659 // rotation 9660 // is represented as around the top-left corner as defined when the text 9661 // is 9662 // read in the 'natural' orientation. 9663 // For example: 9664 // * when the text is horizontal it might look like: 9665 // 0----1 9666 // | | 9667 // 3----2 9668 // * when it's rotated 180 degrees around the top-left corner it 9669 // becomes: 9670 // 2----3 9671 // | | 9672 // 1----0 9673 // and the vertex order will still be (0, 1, 2, 3). 9674 BoundingBox *GoogleCloudVisionV1p3beta1BoundingPoly `json:"boundingBox,omitempty"` 9675 9676 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 9677 Confidence float64 `json:"confidence,omitempty"` 9678 9679 // Property: Additional information detected for the word. 9680 Property *GoogleCloudVisionV1p3beta1TextAnnotationTextProperty `json:"property,omitempty"` 9681 9682 // Symbols: List of symbols in the word. 9683 // The order of the symbols follows the natural reading order. 9684 Symbols []*GoogleCloudVisionV1p3beta1Symbol `json:"symbols,omitempty"` 9685 9686 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 9687 // unconditionally include in API requests. By default, fields with 9688 // empty values are omitted from API requests. However, any non-pointer, 9689 // non-interface field appearing in ForceSendFields will be sent to the 9690 // server regardless of whether the field is empty or not. This may be 9691 // used to include empty fields in Patch requests. 9692 ForceSendFields []string `json:"-"` 9693 9694 // NullFields is a list of field names (e.g. "BoundingBox") to include 9695 // in API requests with the JSON null value. By default, fields with 9696 // empty values are omitted from API requests. However, any field with 9697 // an empty value appearing in NullFields will be sent to the server as 9698 // null. It is an error if a field in this list has a non-empty value. 9699 // This may be used to include null fields in Patch requests. 9700 NullFields []string `json:"-"` 9701} 9702 9703func (s *GoogleCloudVisionV1p3beta1Word) MarshalJSON() ([]byte, error) { 9704 type NoMethod GoogleCloudVisionV1p3beta1Word 9705 raw := NoMethod(*s) 9706 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9707} 9708 9709func (s *GoogleCloudVisionV1p3beta1Word) UnmarshalJSON(data []byte) error { 9710 type NoMethod GoogleCloudVisionV1p3beta1Word 9711 var s1 struct { 9712 Confidence gensupport.JSONFloat64 `json:"confidence"` 9713 *NoMethod 9714 } 9715 s1.NoMethod = (*NoMethod)(s) 9716 if err := json.Unmarshal(data, &s1); err != nil { 9717 return err 9718 } 9719 s.Confidence = float64(s1.Confidence) 9720 return nil 9721} 9722 9723// GoogleCloudVisionV1p4beta1AnnotateFileResponse: Response to a single 9724// file annotation request. A file may contain one or more 9725// images, which individually have their own responses. 9726type GoogleCloudVisionV1p4beta1AnnotateFileResponse struct { 9727 // InputConfig: Information about the file for which this response is 9728 // generated. 9729 InputConfig *GoogleCloudVisionV1p4beta1InputConfig `json:"inputConfig,omitempty"` 9730 9731 // Responses: Individual responses to images found within the file. 9732 Responses []*GoogleCloudVisionV1p4beta1AnnotateImageResponse `json:"responses,omitempty"` 9733 9734 // TotalPages: This field gives the total number of pages in the file. 9735 TotalPages int64 `json:"totalPages,omitempty"` 9736 9737 // ForceSendFields is a list of field names (e.g. "InputConfig") to 9738 // unconditionally include in API requests. By default, fields with 9739 // empty values are omitted from API requests. However, any non-pointer, 9740 // non-interface field appearing in ForceSendFields will be sent to the 9741 // server regardless of whether the field is empty or not. This may be 9742 // used to include empty fields in Patch requests. 9743 ForceSendFields []string `json:"-"` 9744 9745 // NullFields is a list of field names (e.g. "InputConfig") to include 9746 // in API requests with the JSON null value. By default, fields with 9747 // empty values are omitted from API requests. However, any field with 9748 // an empty value appearing in NullFields will be sent to the server as 9749 // null. It is an error if a field in this list has a non-empty value. 9750 // This may be used to include null fields in Patch requests. 9751 NullFields []string `json:"-"` 9752} 9753 9754func (s *GoogleCloudVisionV1p4beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 9755 type NoMethod GoogleCloudVisionV1p4beta1AnnotateFileResponse 9756 raw := NoMethod(*s) 9757 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9758} 9759 9760// GoogleCloudVisionV1p4beta1AnnotateImageResponse: Response to an image 9761// annotation request. 9762type GoogleCloudVisionV1p4beta1AnnotateImageResponse struct { 9763 // Context: If present, contextual information is needed to understand 9764 // where this image 9765 // comes from. 9766 Context *GoogleCloudVisionV1p4beta1ImageAnnotationContext `json:"context,omitempty"` 9767 9768 // CropHintsAnnotation: If present, crop hints have completed 9769 // successfully. 9770 CropHintsAnnotation *GoogleCloudVisionV1p4beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 9771 9772 // Error: If set, represents the error message for the operation. 9773 // Note that filled-in image annotations are guaranteed to be 9774 // correct, even when `error` is set. 9775 Error *Status `json:"error,omitempty"` 9776 9777 // FaceAnnotations: If present, face detection has completed 9778 // successfully. 9779 FaceAnnotations []*GoogleCloudVisionV1p4beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 9780 9781 // FullTextAnnotation: If present, text (OCR) detection or document 9782 // (OCR) text detection has 9783 // completed successfully. 9784 // This annotation provides the structural hierarchy for the OCR 9785 // detected 9786 // text. 9787 FullTextAnnotation *GoogleCloudVisionV1p4beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 9788 9789 // ImagePropertiesAnnotation: If present, image properties were 9790 // extracted successfully. 9791 ImagePropertiesAnnotation *GoogleCloudVisionV1p4beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 9792 9793 // LabelAnnotations: If present, label detection has completed 9794 // successfully. 9795 LabelAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 9796 9797 // LandmarkAnnotations: If present, landmark detection has completed 9798 // successfully. 9799 LandmarkAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 9800 9801 // LocalizedObjectAnnotations: If present, localized object detection 9802 // has completed successfully. 9803 // This will be sorted descending by confidence score. 9804 LocalizedObjectAnnotations []*GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 9805 9806 // LogoAnnotations: If present, logo detection has completed 9807 // successfully. 9808 LogoAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 9809 9810 // ProductSearchResults: If present, product search has completed 9811 // successfully. 9812 ProductSearchResults *GoogleCloudVisionV1p4beta1ProductSearchResults `json:"productSearchResults,omitempty"` 9813 9814 // SafeSearchAnnotation: If present, safe-search annotation has 9815 // completed successfully. 9816 SafeSearchAnnotation *GoogleCloudVisionV1p4beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 9817 9818 // TextAnnotations: If present, text (OCR) detection has completed 9819 // successfully. 9820 TextAnnotations []*GoogleCloudVisionV1p4beta1EntityAnnotation `json:"textAnnotations,omitempty"` 9821 9822 // WebDetection: If present, web detection has completed successfully. 9823 WebDetection *GoogleCloudVisionV1p4beta1WebDetection `json:"webDetection,omitempty"` 9824 9825 // ForceSendFields is a list of field names (e.g. "Context") to 9826 // unconditionally include in API requests. By default, fields with 9827 // empty values are omitted from API requests. However, any non-pointer, 9828 // non-interface field appearing in ForceSendFields will be sent to the 9829 // server regardless of whether the field is empty or not. This may be 9830 // used to include empty fields in Patch requests. 9831 ForceSendFields []string `json:"-"` 9832 9833 // NullFields is a list of field names (e.g. "Context") to include in 9834 // API requests with the JSON null value. By default, fields with empty 9835 // values are omitted from API requests. However, any field with an 9836 // empty value appearing in NullFields will be sent to the server as 9837 // null. It is an error if a field in this list has a non-empty value. 9838 // This may be used to include null fields in Patch requests. 9839 NullFields []string `json:"-"` 9840} 9841 9842func (s *GoogleCloudVisionV1p4beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 9843 type NoMethod GoogleCloudVisionV1p4beta1AnnotateImageResponse 9844 raw := NoMethod(*s) 9845 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9846} 9847 9848// GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse: The response for 9849// a single offline file annotation request. 9850type GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse struct { 9851 // OutputConfig: The output location and metadata from 9852 // AsyncAnnotateFileRequest. 9853 OutputConfig *GoogleCloudVisionV1p4beta1OutputConfig `json:"outputConfig,omitempty"` 9854 9855 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 9856 // unconditionally include in API requests. By default, fields with 9857 // empty values are omitted from API requests. However, any non-pointer, 9858 // non-interface field appearing in ForceSendFields will be sent to the 9859 // server regardless of whether the field is empty or not. This may be 9860 // used to include empty fields in Patch requests. 9861 ForceSendFields []string `json:"-"` 9862 9863 // NullFields is a list of field names (e.g. "OutputConfig") to include 9864 // in API requests with the JSON null value. By default, fields with 9865 // empty values are omitted from API requests. However, any field with 9866 // an empty value appearing in NullFields will be sent to the server as 9867 // null. It is an error if a field in this list has a non-empty value. 9868 // This may be used to include null fields in Patch requests. 9869 NullFields []string `json:"-"` 9870} 9871 9872func (s *GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 9873 type NoMethod GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse 9874 raw := NoMethod(*s) 9875 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9876} 9877 9878// GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse: Response 9879// to an async batch file annotation request. 9880type GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse struct { 9881 // Responses: The list of file annotation responses, one for each 9882 // request in 9883 // AsyncBatchAnnotateFilesRequest. 9884 Responses []*GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 9885 9886 // ForceSendFields is a list of field names (e.g. "Responses") to 9887 // unconditionally include in API requests. By default, fields with 9888 // empty values are omitted from API requests. However, any non-pointer, 9889 // non-interface field appearing in ForceSendFields will be sent to the 9890 // server regardless of whether the field is empty or not. This may be 9891 // used to include empty fields in Patch requests. 9892 ForceSendFields []string `json:"-"` 9893 9894 // NullFields is a list of field names (e.g. "Responses") to include in 9895 // API requests with the JSON null value. By default, fields with empty 9896 // values are omitted from API requests. However, any field with an 9897 // empty value appearing in NullFields will be sent to the server as 9898 // null. It is an error if a field in this list has a non-empty value. 9899 // This may be used to include null fields in Patch requests. 9900 NullFields []string `json:"-"` 9901} 9902 9903func (s *GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 9904 type NoMethod GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse 9905 raw := NoMethod(*s) 9906 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9907} 9908 9909// GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse: Response 9910// to an async batch image annotation request. 9911type GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse struct { 9912 // OutputConfig: The output location and metadata from 9913 // AsyncBatchAnnotateImagesRequest. 9914 OutputConfig *GoogleCloudVisionV1p4beta1OutputConfig `json:"outputConfig,omitempty"` 9915 9916 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 9917 // unconditionally include in API requests. By default, fields with 9918 // empty values are omitted from API requests. However, any non-pointer, 9919 // non-interface field appearing in ForceSendFields will be sent to the 9920 // server regardless of whether the field is empty or not. This may be 9921 // used to include empty fields in Patch requests. 9922 ForceSendFields []string `json:"-"` 9923 9924 // NullFields is a list of field names (e.g. "OutputConfig") to include 9925 // in API requests with the JSON null value. By default, fields with 9926 // empty values are omitted from API requests. However, any field with 9927 // an empty value appearing in NullFields will be sent to the server as 9928 // null. It is an error if a field in this list has a non-empty value. 9929 // This may be used to include null fields in Patch requests. 9930 NullFields []string `json:"-"` 9931} 9932 9933func (s *GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 9934 type NoMethod GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse 9935 raw := NoMethod(*s) 9936 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9937} 9938 9939// GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse: A list of file 9940// annotation responses. 9941type GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse struct { 9942 // Responses: The list of file annotation responses, each response 9943 // corresponding to each 9944 // AnnotateFileRequest in BatchAnnotateFilesRequest. 9945 Responses []*GoogleCloudVisionV1p4beta1AnnotateFileResponse `json:"responses,omitempty"` 9946 9947 // ForceSendFields is a list of field names (e.g. "Responses") to 9948 // unconditionally include in API requests. By default, fields with 9949 // empty values are omitted from API requests. However, any non-pointer, 9950 // non-interface field appearing in ForceSendFields will be sent to the 9951 // server regardless of whether the field is empty or not. This may be 9952 // used to include empty fields in Patch requests. 9953 ForceSendFields []string `json:"-"` 9954 9955 // NullFields is a list of field names (e.g. "Responses") to include in 9956 // API requests with the JSON null value. By default, fields with empty 9957 // values are omitted from API requests. However, any field with an 9958 // empty value appearing in NullFields will be sent to the server as 9959 // null. It is an error if a field in this list has a non-empty value. 9960 // This may be used to include null fields in Patch requests. 9961 NullFields []string `json:"-"` 9962} 9963 9964func (s *GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 9965 type NoMethod GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse 9966 raw := NoMethod(*s) 9967 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 9968} 9969 9970// GoogleCloudVisionV1p4beta1BatchOperationMetadata: Metadata for the 9971// batch operations such as the current state. 9972// 9973// This is included in the `metadata` field of the `Operation` returned 9974// by the 9975// `GetOperation` call of the `google::longrunning::Operations` service. 9976type GoogleCloudVisionV1p4beta1BatchOperationMetadata struct { 9977 // EndTime: The time when the batch request is finished 9978 // and 9979 // google.longrunning.Operation.done is set to true. 9980 EndTime string `json:"endTime,omitempty"` 9981 9982 // State: The current state of the batch operation. 9983 // 9984 // Possible values: 9985 // "STATE_UNSPECIFIED" - Invalid. 9986 // "PROCESSING" - Request is actively being processed. 9987 // "SUCCESSFUL" - The request is done and at least one item has been 9988 // successfully 9989 // processed. 9990 // "FAILED" - The request is done and no item has been successfully 9991 // processed. 9992 // "CANCELLED" - The request is done after the 9993 // longrunning.Operations.CancelOperation has 9994 // been called by the user. Any records that were processed before 9995 // the 9996 // cancel command are output as specified in the request. 9997 State string `json:"state,omitempty"` 9998 9999 // SubmitTime: The time when the batch request was submitted to the 10000 // server. 10001 SubmitTime string `json:"submitTime,omitempty"` 10002 10003 // ForceSendFields is a list of field names (e.g. "EndTime") to 10004 // unconditionally include in API requests. By default, fields with 10005 // empty values are omitted from API requests. However, any non-pointer, 10006 // non-interface field appearing in ForceSendFields will be sent to the 10007 // server regardless of whether the field is empty or not. This may be 10008 // used to include empty fields in Patch requests. 10009 ForceSendFields []string `json:"-"` 10010 10011 // NullFields is a list of field names (e.g. "EndTime") to include in 10012 // API requests with the JSON null value. By default, fields with empty 10013 // values are omitted from API requests. However, any field with an 10014 // empty value appearing in NullFields will be sent to the server as 10015 // null. It is an error if a field in this list has a non-empty value. 10016 // This may be used to include null fields in Patch requests. 10017 NullFields []string `json:"-"` 10018} 10019 10020func (s *GoogleCloudVisionV1p4beta1BatchOperationMetadata) MarshalJSON() ([]byte, error) { 10021 type NoMethod GoogleCloudVisionV1p4beta1BatchOperationMetadata 10022 raw := NoMethod(*s) 10023 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10024} 10025 10026// GoogleCloudVisionV1p4beta1Block: Logical element on the page. 10027type GoogleCloudVisionV1p4beta1Block struct { 10028 // BlockType: Detected block type (text, image etc) for this block. 10029 // 10030 // Possible values: 10031 // "UNKNOWN" - Unknown block type. 10032 // "TEXT" - Regular text block. 10033 // "TABLE" - Table block. 10034 // "PICTURE" - Image block. 10035 // "RULER" - Horizontal/vertical line box. 10036 // "BARCODE" - Barcode block. 10037 BlockType string `json:"blockType,omitempty"` 10038 10039 // BoundingBox: The bounding box for the block. 10040 // The vertices are in the order of top-left, top-right, 10041 // bottom-right, 10042 // bottom-left. When a rotation of the bounding box is detected the 10043 // rotation 10044 // is represented as around the top-left corner as defined when the text 10045 // is 10046 // read in the 'natural' orientation. 10047 // For example: 10048 // 10049 // * when the text is horizontal it might look like: 10050 // 10051 // 0----1 10052 // | | 10053 // 3----2 10054 // 10055 // * when it's rotated 180 degrees around the top-left corner it 10056 // becomes: 10057 // 10058 // 2----3 10059 // | | 10060 // 1----0 10061 // 10062 // and the vertex order will still be (0, 1, 2, 3). 10063 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 10064 10065 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 10066 Confidence float64 `json:"confidence,omitempty"` 10067 10068 // Paragraphs: List of paragraphs in this block (if this blocks is of 10069 // type text). 10070 Paragraphs []*GoogleCloudVisionV1p4beta1Paragraph `json:"paragraphs,omitempty"` 10071 10072 // Property: Additional information detected for the block. 10073 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 10074 10075 // ForceSendFields is a list of field names (e.g. "BlockType") to 10076 // unconditionally include in API requests. By default, fields with 10077 // empty values are omitted from API requests. However, any non-pointer, 10078 // non-interface field appearing in ForceSendFields will be sent to the 10079 // server regardless of whether the field is empty or not. This may be 10080 // used to include empty fields in Patch requests. 10081 ForceSendFields []string `json:"-"` 10082 10083 // NullFields is a list of field names (e.g. "BlockType") to include in 10084 // API requests with the JSON null value. By default, fields with empty 10085 // values are omitted from API requests. However, any field with an 10086 // empty value appearing in NullFields will be sent to the server as 10087 // null. It is an error if a field in this list has a non-empty value. 10088 // This may be used to include null fields in Patch requests. 10089 NullFields []string `json:"-"` 10090} 10091 10092func (s *GoogleCloudVisionV1p4beta1Block) MarshalJSON() ([]byte, error) { 10093 type NoMethod GoogleCloudVisionV1p4beta1Block 10094 raw := NoMethod(*s) 10095 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10096} 10097 10098func (s *GoogleCloudVisionV1p4beta1Block) UnmarshalJSON(data []byte) error { 10099 type NoMethod GoogleCloudVisionV1p4beta1Block 10100 var s1 struct { 10101 Confidence gensupport.JSONFloat64 `json:"confidence"` 10102 *NoMethod 10103 } 10104 s1.NoMethod = (*NoMethod)(s) 10105 if err := json.Unmarshal(data, &s1); err != nil { 10106 return err 10107 } 10108 s.Confidence = float64(s1.Confidence) 10109 return nil 10110} 10111 10112// GoogleCloudVisionV1p4beta1BoundingPoly: A bounding polygon for the 10113// detected image annotation. 10114type GoogleCloudVisionV1p4beta1BoundingPoly struct { 10115 // NormalizedVertices: The bounding polygon normalized vertices. 10116 NormalizedVertices []*GoogleCloudVisionV1p4beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 10117 10118 // Vertices: The bounding polygon vertices. 10119 Vertices []*GoogleCloudVisionV1p4beta1Vertex `json:"vertices,omitempty"` 10120 10121 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 10122 // to unconditionally include in API requests. By default, fields with 10123 // empty values are omitted from API requests. However, any non-pointer, 10124 // non-interface field appearing in ForceSendFields will be sent to the 10125 // server regardless of whether the field is empty or not. This may be 10126 // used to include empty fields in Patch requests. 10127 ForceSendFields []string `json:"-"` 10128 10129 // NullFields is a list of field names (e.g. "NormalizedVertices") to 10130 // include in API requests with the JSON null value. By default, fields 10131 // with empty values are omitted from API requests. However, any field 10132 // with an empty value appearing in NullFields will be sent to the 10133 // server as null. It is an error if a field in this list has a 10134 // non-empty value. This may be used to include null fields in Patch 10135 // requests. 10136 NullFields []string `json:"-"` 10137} 10138 10139func (s *GoogleCloudVisionV1p4beta1BoundingPoly) MarshalJSON() ([]byte, error) { 10140 type NoMethod GoogleCloudVisionV1p4beta1BoundingPoly 10141 raw := NoMethod(*s) 10142 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10143} 10144 10145// GoogleCloudVisionV1p4beta1ColorInfo: Color information consists of 10146// RGB channels, score, and the fraction of 10147// the image that the color occupies in the image. 10148type GoogleCloudVisionV1p4beta1ColorInfo struct { 10149 // Color: RGB components of the color. 10150 Color *Color `json:"color,omitempty"` 10151 10152 // PixelFraction: The fraction of pixels the color occupies in the 10153 // image. 10154 // Value in range [0, 1]. 10155 PixelFraction float64 `json:"pixelFraction,omitempty"` 10156 10157 // Score: Image-specific score for this color. Value in range [0, 1]. 10158 Score float64 `json:"score,omitempty"` 10159 10160 // ForceSendFields is a list of field names (e.g. "Color") to 10161 // unconditionally include in API requests. By default, fields with 10162 // empty values are omitted from API requests. However, any non-pointer, 10163 // non-interface field appearing in ForceSendFields will be sent to the 10164 // server regardless of whether the field is empty or not. This may be 10165 // used to include empty fields in Patch requests. 10166 ForceSendFields []string `json:"-"` 10167 10168 // NullFields is a list of field names (e.g. "Color") to include in API 10169 // requests with the JSON null value. By default, fields with empty 10170 // values are omitted from API requests. However, any field with an 10171 // empty value appearing in NullFields will be sent to the server as 10172 // null. It is an error if a field in this list has a non-empty value. 10173 // This may be used to include null fields in Patch requests. 10174 NullFields []string `json:"-"` 10175} 10176 10177func (s *GoogleCloudVisionV1p4beta1ColorInfo) MarshalJSON() ([]byte, error) { 10178 type NoMethod GoogleCloudVisionV1p4beta1ColorInfo 10179 raw := NoMethod(*s) 10180 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10181} 10182 10183func (s *GoogleCloudVisionV1p4beta1ColorInfo) UnmarshalJSON(data []byte) error { 10184 type NoMethod GoogleCloudVisionV1p4beta1ColorInfo 10185 var s1 struct { 10186 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 10187 Score gensupport.JSONFloat64 `json:"score"` 10188 *NoMethod 10189 } 10190 s1.NoMethod = (*NoMethod)(s) 10191 if err := json.Unmarshal(data, &s1); err != nil { 10192 return err 10193 } 10194 s.PixelFraction = float64(s1.PixelFraction) 10195 s.Score = float64(s1.Score) 10196 return nil 10197} 10198 10199// GoogleCloudVisionV1p4beta1CropHint: Single crop hint that is used to 10200// generate a new crop when serving an image. 10201type GoogleCloudVisionV1p4beta1CropHint struct { 10202 // BoundingPoly: The bounding polygon for the crop region. The 10203 // coordinates of the bounding 10204 // box are in the original image's scale. 10205 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 10206 10207 // Confidence: Confidence of this being a salient region. Range [0, 1]. 10208 Confidence float64 `json:"confidence,omitempty"` 10209 10210 // ImportanceFraction: Fraction of importance of this salient region 10211 // with respect to the original 10212 // image. 10213 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 10214 10215 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 10216 // unconditionally include in API requests. By default, fields with 10217 // empty values are omitted from API requests. However, any non-pointer, 10218 // non-interface field appearing in ForceSendFields will be sent to the 10219 // server regardless of whether the field is empty or not. This may be 10220 // used to include empty fields in Patch requests. 10221 ForceSendFields []string `json:"-"` 10222 10223 // NullFields is a list of field names (e.g. "BoundingPoly") to include 10224 // in API requests with the JSON null value. By default, fields with 10225 // empty values are omitted from API requests. However, any field with 10226 // an empty value appearing in NullFields will be sent to the server as 10227 // null. It is an error if a field in this list has a non-empty value. 10228 // This may be used to include null fields in Patch requests. 10229 NullFields []string `json:"-"` 10230} 10231 10232func (s *GoogleCloudVisionV1p4beta1CropHint) MarshalJSON() ([]byte, error) { 10233 type NoMethod GoogleCloudVisionV1p4beta1CropHint 10234 raw := NoMethod(*s) 10235 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10236} 10237 10238func (s *GoogleCloudVisionV1p4beta1CropHint) UnmarshalJSON(data []byte) error { 10239 type NoMethod GoogleCloudVisionV1p4beta1CropHint 10240 var s1 struct { 10241 Confidence gensupport.JSONFloat64 `json:"confidence"` 10242 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 10243 *NoMethod 10244 } 10245 s1.NoMethod = (*NoMethod)(s) 10246 if err := json.Unmarshal(data, &s1); err != nil { 10247 return err 10248 } 10249 s.Confidence = float64(s1.Confidence) 10250 s.ImportanceFraction = float64(s1.ImportanceFraction) 10251 return nil 10252} 10253 10254// GoogleCloudVisionV1p4beta1CropHintsAnnotation: Set of crop hints that 10255// are used to generate new crops when serving images. 10256type GoogleCloudVisionV1p4beta1CropHintsAnnotation struct { 10257 // CropHints: Crop hint results. 10258 CropHints []*GoogleCloudVisionV1p4beta1CropHint `json:"cropHints,omitempty"` 10259 10260 // ForceSendFields is a list of field names (e.g. "CropHints") to 10261 // unconditionally include in API requests. By default, fields with 10262 // empty values are omitted from API requests. However, any non-pointer, 10263 // non-interface field appearing in ForceSendFields will be sent to the 10264 // server regardless of whether the field is empty or not. This may be 10265 // used to include empty fields in Patch requests. 10266 ForceSendFields []string `json:"-"` 10267 10268 // NullFields is a list of field names (e.g. "CropHints") to include in 10269 // API requests with the JSON null value. By default, fields with empty 10270 // values are omitted from API requests. However, any field with an 10271 // empty value appearing in NullFields will be sent to the server as 10272 // null. It is an error if a field in this list has a non-empty value. 10273 // This may be used to include null fields in Patch requests. 10274 NullFields []string `json:"-"` 10275} 10276 10277func (s *GoogleCloudVisionV1p4beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 10278 type NoMethod GoogleCloudVisionV1p4beta1CropHintsAnnotation 10279 raw := NoMethod(*s) 10280 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10281} 10282 10283// GoogleCloudVisionV1p4beta1DominantColorsAnnotation: Set of dominant 10284// colors and their corresponding scores. 10285type GoogleCloudVisionV1p4beta1DominantColorsAnnotation struct { 10286 // Colors: RGB color values with their score and pixel fraction. 10287 Colors []*GoogleCloudVisionV1p4beta1ColorInfo `json:"colors,omitempty"` 10288 10289 // ForceSendFields is a list of field names (e.g. "Colors") to 10290 // unconditionally include in API requests. By default, fields with 10291 // empty values are omitted from API requests. However, any non-pointer, 10292 // non-interface field appearing in ForceSendFields will be sent to the 10293 // server regardless of whether the field is empty or not. This may be 10294 // used to include empty fields in Patch requests. 10295 ForceSendFields []string `json:"-"` 10296 10297 // NullFields is a list of field names (e.g. "Colors") to include in API 10298 // requests with the JSON null value. By default, fields with empty 10299 // values are omitted from API requests. However, any field with an 10300 // empty value appearing in NullFields will be sent to the server as 10301 // null. It is an error if a field in this list has a non-empty value. 10302 // This may be used to include null fields in Patch requests. 10303 NullFields []string `json:"-"` 10304} 10305 10306func (s *GoogleCloudVisionV1p4beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 10307 type NoMethod GoogleCloudVisionV1p4beta1DominantColorsAnnotation 10308 raw := NoMethod(*s) 10309 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10310} 10311 10312// GoogleCloudVisionV1p4beta1EntityAnnotation: Set of detected entity 10313// features. 10314type GoogleCloudVisionV1p4beta1EntityAnnotation struct { 10315 // BoundingPoly: Image region to which this entity belongs. Not 10316 // produced 10317 // for `LABEL_DETECTION` features. 10318 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 10319 10320 // Confidence: **Deprecated. Use `score` instead.** 10321 // The accuracy of the entity detection in an image. 10322 // For example, for an image in which the "Eiffel Tower" entity is 10323 // detected, 10324 // this field represents the confidence that there is a tower in the 10325 // query 10326 // image. Range [0, 1]. 10327 Confidence float64 `json:"confidence,omitempty"` 10328 10329 // Description: Entity textual description, expressed in its `locale` 10330 // language. 10331 Description string `json:"description,omitempty"` 10332 10333 // Locale: The language code for the locale in which the entity 10334 // textual 10335 // `description` is expressed. 10336 Locale string `json:"locale,omitempty"` 10337 10338 // Locations: The location information for the detected entity. 10339 // Multiple 10340 // `LocationInfo` elements can be present because one location 10341 // may 10342 // indicate the location of the scene in the image, and another 10343 // location 10344 // may indicate the location of the place where the image was 10345 // taken. 10346 // Location information is usually present for landmarks. 10347 Locations []*GoogleCloudVisionV1p4beta1LocationInfo `json:"locations,omitempty"` 10348 10349 // Mid: Opaque entity ID. Some IDs may be available in 10350 // [Google Knowledge Graph 10351 // Search 10352 // API](https://developers.google.com/knowledge-graph/). 10353 Mid string `json:"mid,omitempty"` 10354 10355 // Properties: Some entities may have optional user-supplied `Property` 10356 // (name/value) 10357 // fields, such a score or string that qualifies the entity. 10358 Properties []*GoogleCloudVisionV1p4beta1Property `json:"properties,omitempty"` 10359 10360 // Score: Overall score of the result. Range [0, 1]. 10361 Score float64 `json:"score,omitempty"` 10362 10363 // Topicality: The relevancy of the ICA (Image Content Annotation) label 10364 // to the 10365 // image. For example, the relevancy of "tower" is likely higher to an 10366 // image 10367 // containing the detected "Eiffel Tower" than to an image containing 10368 // a 10369 // detected distant towering building, even though the confidence 10370 // that 10371 // there is a tower in each image may be the same. Range [0, 1]. 10372 Topicality float64 `json:"topicality,omitempty"` 10373 10374 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 10375 // unconditionally include in API requests. By default, fields with 10376 // empty values are omitted from API requests. However, any non-pointer, 10377 // non-interface field appearing in ForceSendFields will be sent to the 10378 // server regardless of whether the field is empty or not. This may be 10379 // used to include empty fields in Patch requests. 10380 ForceSendFields []string `json:"-"` 10381 10382 // NullFields is a list of field names (e.g. "BoundingPoly") to include 10383 // in API requests with the JSON null value. By default, fields with 10384 // empty values are omitted from API requests. However, any field with 10385 // an empty value appearing in NullFields will be sent to the server as 10386 // null. It is an error if a field in this list has a non-empty value. 10387 // This may be used to include null fields in Patch requests. 10388 NullFields []string `json:"-"` 10389} 10390 10391func (s *GoogleCloudVisionV1p4beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 10392 type NoMethod GoogleCloudVisionV1p4beta1EntityAnnotation 10393 raw := NoMethod(*s) 10394 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10395} 10396 10397func (s *GoogleCloudVisionV1p4beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 10398 type NoMethod GoogleCloudVisionV1p4beta1EntityAnnotation 10399 var s1 struct { 10400 Confidence gensupport.JSONFloat64 `json:"confidence"` 10401 Score gensupport.JSONFloat64 `json:"score"` 10402 Topicality gensupport.JSONFloat64 `json:"topicality"` 10403 *NoMethod 10404 } 10405 s1.NoMethod = (*NoMethod)(s) 10406 if err := json.Unmarshal(data, &s1); err != nil { 10407 return err 10408 } 10409 s.Confidence = float64(s1.Confidence) 10410 s.Score = float64(s1.Score) 10411 s.Topicality = float64(s1.Topicality) 10412 return nil 10413} 10414 10415// GoogleCloudVisionV1p4beta1FaceAnnotation: A face annotation object 10416// contains the results of face detection. 10417type GoogleCloudVisionV1p4beta1FaceAnnotation struct { 10418 // AngerLikelihood: Anger likelihood. 10419 // 10420 // Possible values: 10421 // "UNKNOWN" - Unknown likelihood. 10422 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 10423 // specified vertical. 10424 // "UNLIKELY" - It is unlikely that the image belongs to the specified 10425 // vertical. 10426 // "POSSIBLE" - It is possible that the image belongs to the specified 10427 // vertical. 10428 // "LIKELY" - It is likely that the image belongs to the specified 10429 // vertical. 10430 // "VERY_LIKELY" - It is very likely that the image belongs to the 10431 // specified vertical. 10432 AngerLikelihood string `json:"angerLikelihood,omitempty"` 10433 10434 // BlurredLikelihood: Blurred likelihood. 10435 // 10436 // Possible values: 10437 // "UNKNOWN" - Unknown likelihood. 10438 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 10439 // specified vertical. 10440 // "UNLIKELY" - It is unlikely that the image belongs to the specified 10441 // vertical. 10442 // "POSSIBLE" - It is possible that the image belongs to the specified 10443 // vertical. 10444 // "LIKELY" - It is likely that the image belongs to the specified 10445 // vertical. 10446 // "VERY_LIKELY" - It is very likely that the image belongs to the 10447 // specified vertical. 10448 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 10449 10450 // BoundingPoly: The bounding polygon around the face. The coordinates 10451 // of the bounding box 10452 // are in the original image's scale. 10453 // The bounding box is computed to "frame" the face in accordance with 10454 // human 10455 // expectations. It is based on the landmarker results. 10456 // Note that one or more x and/or y coordinates may not be generated in 10457 // the 10458 // `BoundingPoly` (the polygon will be unbounded) if only a partial 10459 // face 10460 // appears in the image to be annotated. 10461 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 10462 10463 // DetectionConfidence: Detection confidence. Range [0, 1]. 10464 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 10465 10466 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 10467 // than the 10468 // `boundingPoly`, and encloses only the skin part of the face. 10469 // Typically, it 10470 // is used to eliminate the face from any image analysis that detects 10471 // the 10472 // "amount of skin" visible in an image. It is not based on 10473 // the 10474 // landmarker results, only on the initial face detection, hence 10475 // the <code>fd</code> (face detection) prefix. 10476 FdBoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 10477 10478 // HeadwearLikelihood: Headwear likelihood. 10479 // 10480 // Possible values: 10481 // "UNKNOWN" - Unknown likelihood. 10482 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 10483 // specified vertical. 10484 // "UNLIKELY" - It is unlikely that the image belongs to the specified 10485 // vertical. 10486 // "POSSIBLE" - It is possible that the image belongs to the specified 10487 // vertical. 10488 // "LIKELY" - It is likely that the image belongs to the specified 10489 // vertical. 10490 // "VERY_LIKELY" - It is very likely that the image belongs to the 10491 // specified vertical. 10492 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 10493 10494 // JoyLikelihood: Joy likelihood. 10495 // 10496 // Possible values: 10497 // "UNKNOWN" - Unknown likelihood. 10498 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 10499 // specified vertical. 10500 // "UNLIKELY" - It is unlikely that the image belongs to the specified 10501 // vertical. 10502 // "POSSIBLE" - It is possible that the image belongs to the specified 10503 // vertical. 10504 // "LIKELY" - It is likely that the image belongs to the specified 10505 // vertical. 10506 // "VERY_LIKELY" - It is very likely that the image belongs to the 10507 // specified vertical. 10508 JoyLikelihood string `json:"joyLikelihood,omitempty"` 10509 10510 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 10511 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 10512 10513 // Landmarks: Detected face landmarks. 10514 Landmarks []*GoogleCloudVisionV1p4beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 10515 10516 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 10517 // that the face is 10518 // pointing relative to the vertical plane perpendicular to the image. 10519 // Range 10520 // [-180,180]. 10521 PanAngle float64 `json:"panAngle,omitempty"` 10522 10523 // RollAngle: Roll angle, which indicates the amount of 10524 // clockwise/anti-clockwise rotation 10525 // of the face relative to the image vertical about the axis 10526 // perpendicular to 10527 // the face. Range [-180,180]. 10528 RollAngle float64 `json:"rollAngle,omitempty"` 10529 10530 // SorrowLikelihood: Sorrow likelihood. 10531 // 10532 // Possible values: 10533 // "UNKNOWN" - Unknown likelihood. 10534 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 10535 // specified vertical. 10536 // "UNLIKELY" - It is unlikely that the image belongs to the specified 10537 // vertical. 10538 // "POSSIBLE" - It is possible that the image belongs to the specified 10539 // vertical. 10540 // "LIKELY" - It is likely that the image belongs to the specified 10541 // vertical. 10542 // "VERY_LIKELY" - It is very likely that the image belongs to the 10543 // specified vertical. 10544 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 10545 10546 // SurpriseLikelihood: Surprise likelihood. 10547 // 10548 // Possible values: 10549 // "UNKNOWN" - Unknown likelihood. 10550 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 10551 // specified vertical. 10552 // "UNLIKELY" - It is unlikely that the image belongs to the specified 10553 // vertical. 10554 // "POSSIBLE" - It is possible that the image belongs to the specified 10555 // vertical. 10556 // "LIKELY" - It is likely that the image belongs to the specified 10557 // vertical. 10558 // "VERY_LIKELY" - It is very likely that the image belongs to the 10559 // specified vertical. 10560 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 10561 10562 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 10563 // that the face is 10564 // pointing relative to the image's horizontal plane. Range [-180,180]. 10565 TiltAngle float64 `json:"tiltAngle,omitempty"` 10566 10567 // UnderExposedLikelihood: Under-exposed likelihood. 10568 // 10569 // Possible values: 10570 // "UNKNOWN" - Unknown likelihood. 10571 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 10572 // specified vertical. 10573 // "UNLIKELY" - It is unlikely that the image belongs to the specified 10574 // vertical. 10575 // "POSSIBLE" - It is possible that the image belongs to the specified 10576 // vertical. 10577 // "LIKELY" - It is likely that the image belongs to the specified 10578 // vertical. 10579 // "VERY_LIKELY" - It is very likely that the image belongs to the 10580 // specified vertical. 10581 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 10582 10583 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 10584 // unconditionally include in API requests. By default, fields with 10585 // empty values are omitted from API requests. However, any non-pointer, 10586 // non-interface field appearing in ForceSendFields will be sent to the 10587 // server regardless of whether the field is empty or not. This may be 10588 // used to include empty fields in Patch requests. 10589 ForceSendFields []string `json:"-"` 10590 10591 // NullFields is a list of field names (e.g. "AngerLikelihood") to 10592 // include in API requests with the JSON null value. By default, fields 10593 // with empty values are omitted from API requests. However, any field 10594 // with an empty value appearing in NullFields will be sent to the 10595 // server as null. It is an error if a field in this list has a 10596 // non-empty value. This may be used to include null fields in Patch 10597 // requests. 10598 NullFields []string `json:"-"` 10599} 10600 10601func (s *GoogleCloudVisionV1p4beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 10602 type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotation 10603 raw := NoMethod(*s) 10604 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10605} 10606 10607func (s *GoogleCloudVisionV1p4beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 10608 type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotation 10609 var s1 struct { 10610 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 10611 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 10612 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 10613 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 10614 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 10615 *NoMethod 10616 } 10617 s1.NoMethod = (*NoMethod)(s) 10618 if err := json.Unmarshal(data, &s1); err != nil { 10619 return err 10620 } 10621 s.DetectionConfidence = float64(s1.DetectionConfidence) 10622 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 10623 s.PanAngle = float64(s1.PanAngle) 10624 s.RollAngle = float64(s1.RollAngle) 10625 s.TiltAngle = float64(s1.TiltAngle) 10626 return nil 10627} 10628 10629// GoogleCloudVisionV1p4beta1FaceAnnotationLandmark: A face-specific 10630// landmark (for example, a face feature). 10631type GoogleCloudVisionV1p4beta1FaceAnnotationLandmark struct { 10632 // Position: Face landmark position. 10633 Position *GoogleCloudVisionV1p4beta1Position `json:"position,omitempty"` 10634 10635 // Type: Face landmark type. 10636 // 10637 // Possible values: 10638 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 10639 // filled. 10640 // "LEFT_EYE" - Left eye. 10641 // "RIGHT_EYE" - Right eye. 10642 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 10643 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 10644 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 10645 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 10646 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 10647 // "NOSE_TIP" - Nose tip. 10648 // "UPPER_LIP" - Upper lip. 10649 // "LOWER_LIP" - Lower lip. 10650 // "MOUTH_LEFT" - Mouth left. 10651 // "MOUTH_RIGHT" - Mouth right. 10652 // "MOUTH_CENTER" - Mouth center. 10653 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 10654 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 10655 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 10656 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 10657 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 10658 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 10659 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 10660 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 10661 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 10662 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 10663 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 10664 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 10665 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 10666 // "LEFT_EAR_TRAGION" - Left ear tragion. 10667 // "RIGHT_EAR_TRAGION" - Right ear tragion. 10668 // "LEFT_EYE_PUPIL" - Left eye pupil. 10669 // "RIGHT_EYE_PUPIL" - Right eye pupil. 10670 // "FOREHEAD_GLABELLA" - Forehead glabella. 10671 // "CHIN_GNATHION" - Chin gnathion. 10672 // "CHIN_LEFT_GONION" - Chin left gonion. 10673 // "CHIN_RIGHT_GONION" - Chin right gonion. 10674 Type string `json:"type,omitempty"` 10675 10676 // ForceSendFields is a list of field names (e.g. "Position") to 10677 // unconditionally include in API requests. By default, fields with 10678 // empty values are omitted from API requests. However, any non-pointer, 10679 // non-interface field appearing in ForceSendFields will be sent to the 10680 // server regardless of whether the field is empty or not. This may be 10681 // used to include empty fields in Patch requests. 10682 ForceSendFields []string `json:"-"` 10683 10684 // NullFields is a list of field names (e.g. "Position") to include in 10685 // API requests with the JSON null value. By default, fields with empty 10686 // values are omitted from API requests. However, any field with an 10687 // empty value appearing in NullFields will be sent to the server as 10688 // null. It is an error if a field in this list has a non-empty value. 10689 // This may be used to include null fields in Patch requests. 10690 NullFields []string `json:"-"` 10691} 10692 10693func (s *GoogleCloudVisionV1p4beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 10694 type NoMethod GoogleCloudVisionV1p4beta1FaceAnnotationLandmark 10695 raw := NoMethod(*s) 10696 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10697} 10698 10699// GoogleCloudVisionV1p4beta1GcsDestination: The Google Cloud Storage 10700// location where the output will be written to. 10701type GoogleCloudVisionV1p4beta1GcsDestination struct { 10702 // Uri: Google Cloud Storage URI prefix where the results will be 10703 // stored. Results 10704 // will be in JSON format and preceded by its corresponding input URI 10705 // prefix. 10706 // This field can either represent a gcs file prefix or gcs directory. 10707 // In 10708 // either case, the uri should be unique because in order to get all of 10709 // the 10710 // output files, you will need to do a wildcard gcs search on the uri 10711 // prefix 10712 // you provide. 10713 // 10714 // Examples: 10715 // 10716 // * File Prefix: gs://bucket-name/here/filenameprefix The output 10717 // files 10718 // will be created in gs://bucket-name/here/ and the names of the 10719 // output files will begin with "filenameprefix". 10720 // 10721 // * Directory Prefix: gs://bucket-name/some/location/ The output 10722 // files 10723 // will be created in gs://bucket-name/some/location/ and the names of 10724 // the 10725 // output files could be anything because there was no filename 10726 // prefix 10727 // specified. 10728 // 10729 // If multiple outputs, each response is still AnnotateFileResponse, 10730 // each of 10731 // which contains some subset of the full list of 10732 // AnnotateImageResponse. 10733 // Multiple outputs can happen if, for example, the output JSON is too 10734 // large 10735 // and overflows into multiple sharded files. 10736 Uri string `json:"uri,omitempty"` 10737 10738 // ForceSendFields is a list of field names (e.g. "Uri") to 10739 // unconditionally include in API requests. By default, fields with 10740 // empty values are omitted from API requests. However, any non-pointer, 10741 // non-interface field appearing in ForceSendFields will be sent to the 10742 // server regardless of whether the field is empty or not. This may be 10743 // used to include empty fields in Patch requests. 10744 ForceSendFields []string `json:"-"` 10745 10746 // NullFields is a list of field names (e.g. "Uri") to include in API 10747 // requests with the JSON null value. By default, fields with empty 10748 // values are omitted from API requests. However, any field with an 10749 // empty value appearing in NullFields will be sent to the server as 10750 // null. It is an error if a field in this list has a non-empty value. 10751 // This may be used to include null fields in Patch requests. 10752 NullFields []string `json:"-"` 10753} 10754 10755func (s *GoogleCloudVisionV1p4beta1GcsDestination) MarshalJSON() ([]byte, error) { 10756 type NoMethod GoogleCloudVisionV1p4beta1GcsDestination 10757 raw := NoMethod(*s) 10758 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10759} 10760 10761// GoogleCloudVisionV1p4beta1GcsSource: The Google Cloud Storage 10762// location where the input will be read from. 10763type GoogleCloudVisionV1p4beta1GcsSource struct { 10764 // Uri: Google Cloud Storage URI for the input file. This must only be 10765 // a 10766 // Google Cloud Storage object. Wildcards are not currently supported. 10767 Uri string `json:"uri,omitempty"` 10768 10769 // ForceSendFields is a list of field names (e.g. "Uri") to 10770 // unconditionally include in API requests. By default, fields with 10771 // empty values are omitted from API requests. However, any non-pointer, 10772 // non-interface field appearing in ForceSendFields will be sent to the 10773 // server regardless of whether the field is empty or not. This may be 10774 // used to include empty fields in Patch requests. 10775 ForceSendFields []string `json:"-"` 10776 10777 // NullFields is a list of field names (e.g. "Uri") to include in API 10778 // requests with the JSON null value. By default, fields with empty 10779 // values are omitted from API requests. However, any field with an 10780 // empty value appearing in NullFields will be sent to the server as 10781 // null. It is an error if a field in this list has a non-empty value. 10782 // This may be used to include null fields in Patch requests. 10783 NullFields []string `json:"-"` 10784} 10785 10786func (s *GoogleCloudVisionV1p4beta1GcsSource) MarshalJSON() ([]byte, error) { 10787 type NoMethod GoogleCloudVisionV1p4beta1GcsSource 10788 raw := NoMethod(*s) 10789 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10790} 10791 10792// GoogleCloudVisionV1p4beta1ImageAnnotationContext: If an image was 10793// produced from a file (e.g. a PDF), this message gives 10794// information about the source of that image. 10795type GoogleCloudVisionV1p4beta1ImageAnnotationContext struct { 10796 // PageNumber: If the file was a PDF or TIFF, this field gives the page 10797 // number within 10798 // the file used to produce the image. 10799 PageNumber int64 `json:"pageNumber,omitempty"` 10800 10801 // Uri: The URI of the file used to produce the image. 10802 Uri string `json:"uri,omitempty"` 10803 10804 // ForceSendFields is a list of field names (e.g. "PageNumber") to 10805 // unconditionally include in API requests. By default, fields with 10806 // empty values are omitted from API requests. However, any non-pointer, 10807 // non-interface field appearing in ForceSendFields will be sent to the 10808 // server regardless of whether the field is empty or not. This may be 10809 // used to include empty fields in Patch requests. 10810 ForceSendFields []string `json:"-"` 10811 10812 // NullFields is a list of field names (e.g. "PageNumber") to include in 10813 // API requests with the JSON null value. By default, fields with empty 10814 // values are omitted from API requests. However, any field with an 10815 // empty value appearing in NullFields will be sent to the server as 10816 // null. It is an error if a field in this list has a non-empty value. 10817 // This may be used to include null fields in Patch requests. 10818 NullFields []string `json:"-"` 10819} 10820 10821func (s *GoogleCloudVisionV1p4beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 10822 type NoMethod GoogleCloudVisionV1p4beta1ImageAnnotationContext 10823 raw := NoMethod(*s) 10824 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10825} 10826 10827// GoogleCloudVisionV1p4beta1ImageProperties: Stores image properties, 10828// such as dominant colors. 10829type GoogleCloudVisionV1p4beta1ImageProperties struct { 10830 // DominantColors: If present, dominant colors completed successfully. 10831 DominantColors *GoogleCloudVisionV1p4beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 10832 10833 // ForceSendFields is a list of field names (e.g. "DominantColors") to 10834 // unconditionally include in API requests. By default, fields with 10835 // empty values are omitted from API requests. However, any non-pointer, 10836 // non-interface field appearing in ForceSendFields will be sent to the 10837 // server regardless of whether the field is empty or not. This may be 10838 // used to include empty fields in Patch requests. 10839 ForceSendFields []string `json:"-"` 10840 10841 // NullFields is a list of field names (e.g. "DominantColors") to 10842 // include in API requests with the JSON null value. By default, fields 10843 // with empty values are omitted from API requests. However, any field 10844 // with an empty value appearing in NullFields will be sent to the 10845 // server as null. It is an error if a field in this list has a 10846 // non-empty value. This may be used to include null fields in Patch 10847 // requests. 10848 NullFields []string `json:"-"` 10849} 10850 10851func (s *GoogleCloudVisionV1p4beta1ImageProperties) MarshalJSON() ([]byte, error) { 10852 type NoMethod GoogleCloudVisionV1p4beta1ImageProperties 10853 raw := NoMethod(*s) 10854 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10855} 10856 10857// GoogleCloudVisionV1p4beta1ImportProductSetsResponse: Response message 10858// for the `ImportProductSets` method. 10859// 10860// This message is returned by 10861// the 10862// google.longrunning.Operations.GetOperation method in the 10863// returned 10864// google.longrunning.Operation.response field. 10865type GoogleCloudVisionV1p4beta1ImportProductSetsResponse struct { 10866 // ReferenceImages: The list of reference_images that are imported 10867 // successfully. 10868 ReferenceImages []*GoogleCloudVisionV1p4beta1ReferenceImage `json:"referenceImages,omitempty"` 10869 10870 // Statuses: The rpc status for each ImportProductSet request, including 10871 // both successes 10872 // and errors. 10873 // 10874 // The number of statuses here matches the number of lines in the csv 10875 // file, 10876 // and statuses[i] stores the success or failure status of processing 10877 // the i-th 10878 // line of the csv, starting from line 0. 10879 Statuses []*Status `json:"statuses,omitempty"` 10880 10881 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 10882 // unconditionally include in API requests. By default, fields with 10883 // empty values are omitted from API requests. However, any non-pointer, 10884 // non-interface field appearing in ForceSendFields will be sent to the 10885 // server regardless of whether the field is empty or not. This may be 10886 // used to include empty fields in Patch requests. 10887 ForceSendFields []string `json:"-"` 10888 10889 // NullFields is a list of field names (e.g. "ReferenceImages") to 10890 // include in API requests with the JSON null value. By default, fields 10891 // with empty values are omitted from API requests. However, any field 10892 // with an empty value appearing in NullFields will be sent to the 10893 // server as null. It is an error if a field in this list has a 10894 // non-empty value. This may be used to include null fields in Patch 10895 // requests. 10896 NullFields []string `json:"-"` 10897} 10898 10899func (s *GoogleCloudVisionV1p4beta1ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 10900 type NoMethod GoogleCloudVisionV1p4beta1ImportProductSetsResponse 10901 raw := NoMethod(*s) 10902 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10903} 10904 10905// GoogleCloudVisionV1p4beta1InputConfig: The desired input location and 10906// metadata. 10907type GoogleCloudVisionV1p4beta1InputConfig struct { 10908 // Content: File content, represented as a stream of bytes. 10909 // Note: As with all `bytes` fields, protobuffers use a pure 10910 // binary 10911 // representation, whereas JSON representations use base64. 10912 // 10913 // Currently, this field only works for BatchAnnotateFiles requests. It 10914 // does 10915 // not work for AsyncBatchAnnotateFiles requests. 10916 Content string `json:"content,omitempty"` 10917 10918 // GcsSource: The Google Cloud Storage location to read the input from. 10919 GcsSource *GoogleCloudVisionV1p4beta1GcsSource `json:"gcsSource,omitempty"` 10920 10921 // MimeType: The type of the file. Currently only "application/pdf", 10922 // "image/tiff" and 10923 // "image/gif" are supported. Wildcards are not supported. 10924 MimeType string `json:"mimeType,omitempty"` 10925 10926 // ForceSendFields is a list of field names (e.g. "Content") to 10927 // unconditionally include in API requests. By default, fields with 10928 // empty values are omitted from API requests. However, any non-pointer, 10929 // non-interface field appearing in ForceSendFields will be sent to the 10930 // server regardless of whether the field is empty or not. This may be 10931 // used to include empty fields in Patch requests. 10932 ForceSendFields []string `json:"-"` 10933 10934 // NullFields is a list of field names (e.g. "Content") to include in 10935 // API requests with the JSON null value. By default, fields with empty 10936 // values are omitted from API requests. However, any field with an 10937 // empty value appearing in NullFields will be sent to the server as 10938 // null. It is an error if a field in this list has a non-empty value. 10939 // This may be used to include null fields in Patch requests. 10940 NullFields []string `json:"-"` 10941} 10942 10943func (s *GoogleCloudVisionV1p4beta1InputConfig) MarshalJSON() ([]byte, error) { 10944 type NoMethod GoogleCloudVisionV1p4beta1InputConfig 10945 raw := NoMethod(*s) 10946 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10947} 10948 10949// GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation: Set of detected 10950// objects with bounding boxes. 10951type GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation struct { 10952 // BoundingPoly: Image region to which this object belongs. This must be 10953 // populated. 10954 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 10955 10956 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 10957 // For more 10958 // information, 10959 // see 10960 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 10961 LanguageCode string `json:"languageCode,omitempty"` 10962 10963 // Mid: Object ID that should align with EntityAnnotation mid. 10964 Mid string `json:"mid,omitempty"` 10965 10966 // Name: Object name, expressed in its `language_code` language. 10967 Name string `json:"name,omitempty"` 10968 10969 // Score: Score of the result. Range [0, 1]. 10970 Score float64 `json:"score,omitempty"` 10971 10972 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 10973 // unconditionally include in API requests. By default, fields with 10974 // empty values are omitted from API requests. However, any non-pointer, 10975 // non-interface field appearing in ForceSendFields will be sent to the 10976 // server regardless of whether the field is empty or not. This may be 10977 // used to include empty fields in Patch requests. 10978 ForceSendFields []string `json:"-"` 10979 10980 // NullFields is a list of field names (e.g. "BoundingPoly") to include 10981 // in API requests with the JSON null value. By default, fields with 10982 // empty values are omitted from API requests. However, any field with 10983 // an empty value appearing in NullFields will be sent to the server as 10984 // null. It is an error if a field in this list has a non-empty value. 10985 // This may be used to include null fields in Patch requests. 10986 NullFields []string `json:"-"` 10987} 10988 10989func (s *GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 10990 type NoMethod GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation 10991 raw := NoMethod(*s) 10992 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 10993} 10994 10995func (s *GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 10996 type NoMethod GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation 10997 var s1 struct { 10998 Score gensupport.JSONFloat64 `json:"score"` 10999 *NoMethod 11000 } 11001 s1.NoMethod = (*NoMethod)(s) 11002 if err := json.Unmarshal(data, &s1); err != nil { 11003 return err 11004 } 11005 s.Score = float64(s1.Score) 11006 return nil 11007} 11008 11009// GoogleCloudVisionV1p4beta1LocationInfo: Detected entity location 11010// information. 11011type GoogleCloudVisionV1p4beta1LocationInfo struct { 11012 // LatLng: lat/long location coordinates. 11013 LatLng *LatLng `json:"latLng,omitempty"` 11014 11015 // ForceSendFields is a list of field names (e.g. "LatLng") to 11016 // unconditionally include in API requests. By default, fields with 11017 // empty values are omitted from API requests. However, any non-pointer, 11018 // non-interface field appearing in ForceSendFields will be sent to the 11019 // server regardless of whether the field is empty or not. This may be 11020 // used to include empty fields in Patch requests. 11021 ForceSendFields []string `json:"-"` 11022 11023 // NullFields is a list of field names (e.g. "LatLng") to include in API 11024 // requests with the JSON null value. By default, fields with empty 11025 // values are omitted from API requests. However, any field with an 11026 // empty value appearing in NullFields will be sent to the server as 11027 // null. It is an error if a field in this list has a non-empty value. 11028 // This may be used to include null fields in Patch requests. 11029 NullFields []string `json:"-"` 11030} 11031 11032func (s *GoogleCloudVisionV1p4beta1LocationInfo) MarshalJSON() ([]byte, error) { 11033 type NoMethod GoogleCloudVisionV1p4beta1LocationInfo 11034 raw := NoMethod(*s) 11035 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11036} 11037 11038// GoogleCloudVisionV1p4beta1NormalizedVertex: A vertex represents a 2D 11039// point in the image. 11040// NOTE: the normalized vertex coordinates are relative to the original 11041// image 11042// and range from 0 to 1. 11043type GoogleCloudVisionV1p4beta1NormalizedVertex struct { 11044 // X: X coordinate. 11045 X float64 `json:"x,omitempty"` 11046 11047 // Y: Y coordinate. 11048 Y float64 `json:"y,omitempty"` 11049 11050 // ForceSendFields is a list of field names (e.g. "X") to 11051 // unconditionally include in API requests. By default, fields with 11052 // empty values are omitted from API requests. However, any non-pointer, 11053 // non-interface field appearing in ForceSendFields will be sent to the 11054 // server regardless of whether the field is empty or not. This may be 11055 // used to include empty fields in Patch requests. 11056 ForceSendFields []string `json:"-"` 11057 11058 // NullFields is a list of field names (e.g. "X") to include in API 11059 // requests with the JSON null value. By default, fields with empty 11060 // values are omitted from API requests. However, any field with an 11061 // empty value appearing in NullFields will be sent to the server as 11062 // null. It is an error if a field in this list has a non-empty value. 11063 // This may be used to include null fields in Patch requests. 11064 NullFields []string `json:"-"` 11065} 11066 11067func (s *GoogleCloudVisionV1p4beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 11068 type NoMethod GoogleCloudVisionV1p4beta1NormalizedVertex 11069 raw := NoMethod(*s) 11070 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11071} 11072 11073func (s *GoogleCloudVisionV1p4beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 11074 type NoMethod GoogleCloudVisionV1p4beta1NormalizedVertex 11075 var s1 struct { 11076 X gensupport.JSONFloat64 `json:"x"` 11077 Y gensupport.JSONFloat64 `json:"y"` 11078 *NoMethod 11079 } 11080 s1.NoMethod = (*NoMethod)(s) 11081 if err := json.Unmarshal(data, &s1); err != nil { 11082 return err 11083 } 11084 s.X = float64(s1.X) 11085 s.Y = float64(s1.Y) 11086 return nil 11087} 11088 11089// GoogleCloudVisionV1p4beta1OperationMetadata: Contains metadata for 11090// the BatchAnnotateImages operation. 11091type GoogleCloudVisionV1p4beta1OperationMetadata struct { 11092 // CreateTime: The time when the batch request was received. 11093 CreateTime string `json:"createTime,omitempty"` 11094 11095 // State: Current state of the batch operation. 11096 // 11097 // Possible values: 11098 // "STATE_UNSPECIFIED" - Invalid. 11099 // "CREATED" - Request is received. 11100 // "RUNNING" - Request is actively being processed. 11101 // "DONE" - The batch processing is done. 11102 // "CANCELLED" - The batch processing was cancelled. 11103 State string `json:"state,omitempty"` 11104 11105 // UpdateTime: The time when the operation result was last updated. 11106 UpdateTime string `json:"updateTime,omitempty"` 11107 11108 // ForceSendFields is a list of field names (e.g. "CreateTime") to 11109 // unconditionally include in API requests. By default, fields with 11110 // empty values are omitted from API requests. However, any non-pointer, 11111 // non-interface field appearing in ForceSendFields will be sent to the 11112 // server regardless of whether the field is empty or not. This may be 11113 // used to include empty fields in Patch requests. 11114 ForceSendFields []string `json:"-"` 11115 11116 // NullFields is a list of field names (e.g. "CreateTime") to include in 11117 // API requests with the JSON null value. By default, fields with empty 11118 // values are omitted from API requests. However, any field with an 11119 // empty value appearing in NullFields will be sent to the server as 11120 // null. It is an error if a field in this list has a non-empty value. 11121 // This may be used to include null fields in Patch requests. 11122 NullFields []string `json:"-"` 11123} 11124 11125func (s *GoogleCloudVisionV1p4beta1OperationMetadata) MarshalJSON() ([]byte, error) { 11126 type NoMethod GoogleCloudVisionV1p4beta1OperationMetadata 11127 raw := NoMethod(*s) 11128 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11129} 11130 11131// GoogleCloudVisionV1p4beta1OutputConfig: The desired output location 11132// and metadata. 11133type GoogleCloudVisionV1p4beta1OutputConfig struct { 11134 // BatchSize: The max number of response protos to put into each output 11135 // JSON file on 11136 // Google Cloud Storage. 11137 // The valid range is [1, 100]. If not specified, the default value is 11138 // 20. 11139 // 11140 // For example, for one pdf file with 100 pages, 100 response protos 11141 // will 11142 // be generated. If `batch_size` = 20, then 5 json files each 11143 // containing 20 response protos will be written under the 11144 // prefix 11145 // `gcs_destination`.`uri`. 11146 // 11147 // Currently, batch_size only applies to GcsDestination, with potential 11148 // future 11149 // support for other output configurations. 11150 BatchSize int64 `json:"batchSize,omitempty"` 11151 11152 // GcsDestination: The Google Cloud Storage location to write the 11153 // output(s) to. 11154 GcsDestination *GoogleCloudVisionV1p4beta1GcsDestination `json:"gcsDestination,omitempty"` 11155 11156 // ForceSendFields is a list of field names (e.g. "BatchSize") to 11157 // unconditionally include in API requests. By default, fields with 11158 // empty values are omitted from API requests. However, any non-pointer, 11159 // non-interface field appearing in ForceSendFields will be sent to the 11160 // server regardless of whether the field is empty or not. This may be 11161 // used to include empty fields in Patch requests. 11162 ForceSendFields []string `json:"-"` 11163 11164 // NullFields is a list of field names (e.g. "BatchSize") to include in 11165 // API requests with the JSON null value. By default, fields with empty 11166 // values are omitted from API requests. However, any field with an 11167 // empty value appearing in NullFields will be sent to the server as 11168 // null. It is an error if a field in this list has a non-empty value. 11169 // This may be used to include null fields in Patch requests. 11170 NullFields []string `json:"-"` 11171} 11172 11173func (s *GoogleCloudVisionV1p4beta1OutputConfig) MarshalJSON() ([]byte, error) { 11174 type NoMethod GoogleCloudVisionV1p4beta1OutputConfig 11175 raw := NoMethod(*s) 11176 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11177} 11178 11179// GoogleCloudVisionV1p4beta1Page: Detected page from OCR. 11180type GoogleCloudVisionV1p4beta1Page struct { 11181 // Blocks: List of blocks of text, images etc on this page. 11182 Blocks []*GoogleCloudVisionV1p4beta1Block `json:"blocks,omitempty"` 11183 11184 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 11185 Confidence float64 `json:"confidence,omitempty"` 11186 11187 // Height: Page height. For PDFs the unit is points. For images 11188 // (including 11189 // TIFFs) the unit is pixels. 11190 Height int64 `json:"height,omitempty"` 11191 11192 // Property: Additional information detected on the page. 11193 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 11194 11195 // Width: Page width. For PDFs the unit is points. For images 11196 // (including 11197 // TIFFs) the unit is pixels. 11198 Width int64 `json:"width,omitempty"` 11199 11200 // ForceSendFields is a list of field names (e.g. "Blocks") to 11201 // unconditionally include in API requests. By default, fields with 11202 // empty values are omitted from API requests. However, any non-pointer, 11203 // non-interface field appearing in ForceSendFields will be sent to the 11204 // server regardless of whether the field is empty or not. This may be 11205 // used to include empty fields in Patch requests. 11206 ForceSendFields []string `json:"-"` 11207 11208 // NullFields is a list of field names (e.g. "Blocks") to include in API 11209 // requests with the JSON null value. By default, fields with empty 11210 // values are omitted from API requests. However, any field with an 11211 // empty value appearing in NullFields will be sent to the server as 11212 // null. It is an error if a field in this list has a non-empty value. 11213 // This may be used to include null fields in Patch requests. 11214 NullFields []string `json:"-"` 11215} 11216 11217func (s *GoogleCloudVisionV1p4beta1Page) MarshalJSON() ([]byte, error) { 11218 type NoMethod GoogleCloudVisionV1p4beta1Page 11219 raw := NoMethod(*s) 11220 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11221} 11222 11223func (s *GoogleCloudVisionV1p4beta1Page) UnmarshalJSON(data []byte) error { 11224 type NoMethod GoogleCloudVisionV1p4beta1Page 11225 var s1 struct { 11226 Confidence gensupport.JSONFloat64 `json:"confidence"` 11227 *NoMethod 11228 } 11229 s1.NoMethod = (*NoMethod)(s) 11230 if err := json.Unmarshal(data, &s1); err != nil { 11231 return err 11232 } 11233 s.Confidence = float64(s1.Confidence) 11234 return nil 11235} 11236 11237// GoogleCloudVisionV1p4beta1Paragraph: Structural unit of text 11238// representing a number of words in certain order. 11239type GoogleCloudVisionV1p4beta1Paragraph struct { 11240 // BoundingBox: The bounding box for the paragraph. 11241 // The vertices are in the order of top-left, top-right, 11242 // bottom-right, 11243 // bottom-left. When a rotation of the bounding box is detected the 11244 // rotation 11245 // is represented as around the top-left corner as defined when the text 11246 // is 11247 // read in the 'natural' orientation. 11248 // For example: 11249 // * when the text is horizontal it might look like: 11250 // 0----1 11251 // | | 11252 // 3----2 11253 // * when it's rotated 180 degrees around the top-left corner it 11254 // becomes: 11255 // 2----3 11256 // | | 11257 // 1----0 11258 // and the vertex order will still be (0, 1, 2, 3). 11259 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 11260 11261 // Confidence: Confidence of the OCR results for the paragraph. Range 11262 // [0, 1]. 11263 Confidence float64 `json:"confidence,omitempty"` 11264 11265 // Property: Additional information detected for the paragraph. 11266 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 11267 11268 // Words: List of words in this paragraph. 11269 Words []*GoogleCloudVisionV1p4beta1Word `json:"words,omitempty"` 11270 11271 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 11272 // unconditionally include in API requests. By default, fields with 11273 // empty values are omitted from API requests. However, any non-pointer, 11274 // non-interface field appearing in ForceSendFields will be sent to the 11275 // server regardless of whether the field is empty or not. This may be 11276 // used to include empty fields in Patch requests. 11277 ForceSendFields []string `json:"-"` 11278 11279 // NullFields is a list of field names (e.g. "BoundingBox") to include 11280 // in API requests with the JSON null value. By default, fields with 11281 // empty values are omitted from API requests. However, any field with 11282 // an empty value appearing in NullFields will be sent to the server as 11283 // null. It is an error if a field in this list has a non-empty value. 11284 // This may be used to include null fields in Patch requests. 11285 NullFields []string `json:"-"` 11286} 11287 11288func (s *GoogleCloudVisionV1p4beta1Paragraph) MarshalJSON() ([]byte, error) { 11289 type NoMethod GoogleCloudVisionV1p4beta1Paragraph 11290 raw := NoMethod(*s) 11291 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11292} 11293 11294func (s *GoogleCloudVisionV1p4beta1Paragraph) UnmarshalJSON(data []byte) error { 11295 type NoMethod GoogleCloudVisionV1p4beta1Paragraph 11296 var s1 struct { 11297 Confidence gensupport.JSONFloat64 `json:"confidence"` 11298 *NoMethod 11299 } 11300 s1.NoMethod = (*NoMethod)(s) 11301 if err := json.Unmarshal(data, &s1); err != nil { 11302 return err 11303 } 11304 s.Confidence = float64(s1.Confidence) 11305 return nil 11306} 11307 11308// GoogleCloudVisionV1p4beta1Position: A 3D position in the image, used 11309// primarily for Face detection landmarks. 11310// A valid Position must have both x and y coordinates. 11311// The position coordinates are in the same scale as the original image. 11312type GoogleCloudVisionV1p4beta1Position struct { 11313 // X: X coordinate. 11314 X float64 `json:"x,omitempty"` 11315 11316 // Y: Y coordinate. 11317 Y float64 `json:"y,omitempty"` 11318 11319 // Z: Z coordinate (or depth). 11320 Z float64 `json:"z,omitempty"` 11321 11322 // ForceSendFields is a list of field names (e.g. "X") to 11323 // unconditionally include in API requests. By default, fields with 11324 // empty values are omitted from API requests. However, any non-pointer, 11325 // non-interface field appearing in ForceSendFields will be sent to the 11326 // server regardless of whether the field is empty or not. This may be 11327 // used to include empty fields in Patch requests. 11328 ForceSendFields []string `json:"-"` 11329 11330 // NullFields is a list of field names (e.g. "X") to include in API 11331 // requests with the JSON null value. By default, fields with empty 11332 // values are omitted from API requests. However, any field with an 11333 // empty value appearing in NullFields will be sent to the server as 11334 // null. It is an error if a field in this list has a non-empty value. 11335 // This may be used to include null fields in Patch requests. 11336 NullFields []string `json:"-"` 11337} 11338 11339func (s *GoogleCloudVisionV1p4beta1Position) MarshalJSON() ([]byte, error) { 11340 type NoMethod GoogleCloudVisionV1p4beta1Position 11341 raw := NoMethod(*s) 11342 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11343} 11344 11345func (s *GoogleCloudVisionV1p4beta1Position) UnmarshalJSON(data []byte) error { 11346 type NoMethod GoogleCloudVisionV1p4beta1Position 11347 var s1 struct { 11348 X gensupport.JSONFloat64 `json:"x"` 11349 Y gensupport.JSONFloat64 `json:"y"` 11350 Z gensupport.JSONFloat64 `json:"z"` 11351 *NoMethod 11352 } 11353 s1.NoMethod = (*NoMethod)(s) 11354 if err := json.Unmarshal(data, &s1); err != nil { 11355 return err 11356 } 11357 s.X = float64(s1.X) 11358 s.Y = float64(s1.Y) 11359 s.Z = float64(s1.Z) 11360 return nil 11361} 11362 11363// GoogleCloudVisionV1p4beta1Product: A Product contains 11364// ReferenceImages. 11365type GoogleCloudVisionV1p4beta1Product struct { 11366 // Description: User-provided metadata to be stored with this product. 11367 // Must be at most 4096 11368 // characters long. 11369 Description string `json:"description,omitempty"` 11370 11371 // DisplayName: The user-provided name for this Product. Must not be 11372 // empty. Must be at most 11373 // 4096 characters long. 11374 DisplayName string `json:"displayName,omitempty"` 11375 11376 // Name: The resource name of the product. 11377 // 11378 // Format 11379 // is: 11380 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 11381 // 11382 // This field is ignored when creating a product. 11383 Name string `json:"name,omitempty"` 11384 11385 // ProductCategory: The category for the product identified by the 11386 // reference image. This should 11387 // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy 11388 // categories 11389 // "homegoods", "apparel", and "toys" are still supported, but these 11390 // should 11391 // not be used for new products. 11392 // 11393 // This field is immutable. 11394 ProductCategory string `json:"productCategory,omitempty"` 11395 11396 // ProductLabels: Key-value pairs that can be attached to a product. At 11397 // query time, 11398 // constraints can be specified based on the product_labels. 11399 // 11400 // Note that integer values can be provided as strings, e.g. "1199". 11401 // Only 11402 // strings with integer values can match a range-based restriction which 11403 // is 11404 // to be supported soon. 11405 // 11406 // Multiple values can be assigned to the same key. One product may have 11407 // up to 11408 // 100 product_labels. 11409 ProductLabels []*GoogleCloudVisionV1p4beta1ProductKeyValue `json:"productLabels,omitempty"` 11410 11411 // ForceSendFields is a list of field names (e.g. "Description") to 11412 // unconditionally include in API requests. By default, fields with 11413 // empty values are omitted from API requests. However, any non-pointer, 11414 // non-interface field appearing in ForceSendFields will be sent to the 11415 // server regardless of whether the field is empty or not. This may be 11416 // used to include empty fields in Patch requests. 11417 ForceSendFields []string `json:"-"` 11418 11419 // NullFields is a list of field names (e.g. "Description") to include 11420 // in API requests with the JSON null value. By default, fields with 11421 // empty values are omitted from API requests. However, any field with 11422 // an empty value appearing in NullFields will be sent to the server as 11423 // null. It is an error if a field in this list has a non-empty value. 11424 // This may be used to include null fields in Patch requests. 11425 NullFields []string `json:"-"` 11426} 11427 11428func (s *GoogleCloudVisionV1p4beta1Product) MarshalJSON() ([]byte, error) { 11429 type NoMethod GoogleCloudVisionV1p4beta1Product 11430 raw := NoMethod(*s) 11431 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11432} 11433 11434// GoogleCloudVisionV1p4beta1ProductKeyValue: A product label 11435// represented as a key-value pair. 11436type GoogleCloudVisionV1p4beta1ProductKeyValue struct { 11437 // Key: The key of the label attached to the product. Cannot be empty 11438 // and cannot 11439 // exceed 128 bytes. 11440 Key string `json:"key,omitempty"` 11441 11442 // Value: The value of the label attached to the product. Cannot be 11443 // empty and 11444 // cannot exceed 128 bytes. 11445 Value string `json:"value,omitempty"` 11446 11447 // ForceSendFields is a list of field names (e.g. "Key") to 11448 // unconditionally include in API requests. By default, fields with 11449 // empty values are omitted from API requests. However, any non-pointer, 11450 // non-interface field appearing in ForceSendFields will be sent to the 11451 // server regardless of whether the field is empty or not. This may be 11452 // used to include empty fields in Patch requests. 11453 ForceSendFields []string `json:"-"` 11454 11455 // NullFields is a list of field names (e.g. "Key") to include in API 11456 // requests with the JSON null value. By default, fields with empty 11457 // values are omitted from API requests. However, any field with an 11458 // empty value appearing in NullFields will be sent to the server as 11459 // null. It is an error if a field in this list has a non-empty value. 11460 // This may be used to include null fields in Patch requests. 11461 NullFields []string `json:"-"` 11462} 11463 11464func (s *GoogleCloudVisionV1p4beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 11465 type NoMethod GoogleCloudVisionV1p4beta1ProductKeyValue 11466 raw := NoMethod(*s) 11467 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11468} 11469 11470// GoogleCloudVisionV1p4beta1ProductSearchResults: Results for a product 11471// search request. 11472type GoogleCloudVisionV1p4beta1ProductSearchResults struct { 11473 // IndexTime: Timestamp of the index which provided these results. 11474 // Products added to the 11475 // product set and products removed from the product set after this time 11476 // are 11477 // not reflected in the current results. 11478 IndexTime string `json:"indexTime,omitempty"` 11479 11480 // ProductGroupedResults: List of results grouped by products detected 11481 // in the query image. Each entry 11482 // corresponds to one bounding polygon in the query image, and contains 11483 // the 11484 // matching products specific to that region. There may be duplicate 11485 // product 11486 // matches in the union of all the per-product results. 11487 ProductGroupedResults []*GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 11488 11489 // Results: List of results, one for each product match. 11490 Results []*GoogleCloudVisionV1p4beta1ProductSearchResultsResult `json:"results,omitempty"` 11491 11492 // ForceSendFields is a list of field names (e.g. "IndexTime") to 11493 // unconditionally include in API requests. By default, fields with 11494 // empty values are omitted from API requests. However, any non-pointer, 11495 // non-interface field appearing in ForceSendFields will be sent to the 11496 // server regardless of whether the field is empty or not. This may be 11497 // used to include empty fields in Patch requests. 11498 ForceSendFields []string `json:"-"` 11499 11500 // NullFields is a list of field names (e.g. "IndexTime") to include in 11501 // API requests with the JSON null value. By default, fields with empty 11502 // values are omitted from API requests. However, any field with an 11503 // empty value appearing in NullFields will be sent to the server as 11504 // null. It is an error if a field in this list has a non-empty value. 11505 // This may be used to include null fields in Patch requests. 11506 NullFields []string `json:"-"` 11507} 11508 11509func (s *GoogleCloudVisionV1p4beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 11510 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResults 11511 raw := NoMethod(*s) 11512 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11513} 11514 11515// GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult: 11516// Information about the products similar to a single product in a 11517// query 11518// image. 11519type GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult struct { 11520 // BoundingPoly: The bounding polygon around the product detected in the 11521 // query image. 11522 BoundingPoly *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPoly,omitempty"` 11523 11524 // Results: List of results, one for each product match. 11525 Results []*GoogleCloudVisionV1p4beta1ProductSearchResultsResult `json:"results,omitempty"` 11526 11527 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 11528 // unconditionally include in API requests. By default, fields with 11529 // empty values are omitted from API requests. However, any non-pointer, 11530 // non-interface field appearing in ForceSendFields will be sent to the 11531 // server regardless of whether the field is empty or not. This may be 11532 // used to include empty fields in Patch requests. 11533 ForceSendFields []string `json:"-"` 11534 11535 // NullFields is a list of field names (e.g. "BoundingPoly") to include 11536 // in API requests with the JSON null value. By default, fields with 11537 // empty values are omitted from API requests. However, any field with 11538 // an empty value appearing in NullFields will be sent to the server as 11539 // null. It is an error if a field in this list has a non-empty value. 11540 // This may be used to include null fields in Patch requests. 11541 NullFields []string `json:"-"` 11542} 11543 11544func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 11545 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult 11546 raw := NoMethod(*s) 11547 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11548} 11549 11550// GoogleCloudVisionV1p4beta1ProductSearchResultsResult: Information 11551// about a product. 11552type GoogleCloudVisionV1p4beta1ProductSearchResultsResult struct { 11553 // Image: The resource name of the image from the product that is the 11554 // closest match 11555 // to the query. 11556 Image string `json:"image,omitempty"` 11557 11558 // Product: The Product. 11559 Product *GoogleCloudVisionV1p4beta1Product `json:"product,omitempty"` 11560 11561 // Score: A confidence level on the match, ranging from 0 (no 11562 // confidence) to 11563 // 1 (full confidence). 11564 Score float64 `json:"score,omitempty"` 11565 11566 // ForceSendFields is a list of field names (e.g. "Image") to 11567 // unconditionally include in API requests. By default, fields with 11568 // empty values are omitted from API requests. However, any non-pointer, 11569 // non-interface field appearing in ForceSendFields will be sent to the 11570 // server regardless of whether the field is empty or not. This may be 11571 // used to include empty fields in Patch requests. 11572 ForceSendFields []string `json:"-"` 11573 11574 // NullFields is a list of field names (e.g. "Image") to include in API 11575 // requests with the JSON null value. By default, fields with empty 11576 // values are omitted from API requests. However, any field with an 11577 // empty value appearing in NullFields will be sent to the server as 11578 // null. It is an error if a field in this list has a non-empty value. 11579 // This may be used to include null fields in Patch requests. 11580 NullFields []string `json:"-"` 11581} 11582 11583func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 11584 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsResult 11585 raw := NoMethod(*s) 11586 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11587} 11588 11589func (s *GoogleCloudVisionV1p4beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 11590 type NoMethod GoogleCloudVisionV1p4beta1ProductSearchResultsResult 11591 var s1 struct { 11592 Score gensupport.JSONFloat64 `json:"score"` 11593 *NoMethod 11594 } 11595 s1.NoMethod = (*NoMethod)(s) 11596 if err := json.Unmarshal(data, &s1); err != nil { 11597 return err 11598 } 11599 s.Score = float64(s1.Score) 11600 return nil 11601} 11602 11603// GoogleCloudVisionV1p4beta1Property: A `Property` consists of a 11604// user-supplied name/value pair. 11605type GoogleCloudVisionV1p4beta1Property struct { 11606 // Name: Name of the property. 11607 Name string `json:"name,omitempty"` 11608 11609 // Uint64Value: Value of numeric properties. 11610 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 11611 11612 // Value: Value of the property. 11613 Value string `json:"value,omitempty"` 11614 11615 // ForceSendFields is a list of field names (e.g. "Name") to 11616 // unconditionally include in API requests. By default, fields with 11617 // empty values are omitted from API requests. However, any non-pointer, 11618 // non-interface field appearing in ForceSendFields will be sent to the 11619 // server regardless of whether the field is empty or not. This may be 11620 // used to include empty fields in Patch requests. 11621 ForceSendFields []string `json:"-"` 11622 11623 // NullFields is a list of field names (e.g. "Name") to include in API 11624 // requests with the JSON null value. By default, fields with empty 11625 // values are omitted from API requests. However, any field with an 11626 // empty value appearing in NullFields will be sent to the server as 11627 // null. It is an error if a field in this list has a non-empty value. 11628 // This may be used to include null fields in Patch requests. 11629 NullFields []string `json:"-"` 11630} 11631 11632func (s *GoogleCloudVisionV1p4beta1Property) MarshalJSON() ([]byte, error) { 11633 type NoMethod GoogleCloudVisionV1p4beta1Property 11634 raw := NoMethod(*s) 11635 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11636} 11637 11638// GoogleCloudVisionV1p4beta1ReferenceImage: A `ReferenceImage` 11639// represents a product image and its associated metadata, 11640// such as bounding boxes. 11641type GoogleCloudVisionV1p4beta1ReferenceImage struct { 11642 // BoundingPolys: Bounding polygons around the areas of interest in the 11643 // reference image. 11644 // Optional. If this field is empty, the system will try to detect 11645 // regions of 11646 // interest. At most 10 bounding polygons will be used. 11647 // 11648 // The provided shape is converted into a non-rotated rectangle. 11649 // Once 11650 // converted, the small edge of the rectangle must be greater than or 11651 // equal 11652 // to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 11653 // 1:5 11654 // is not). 11655 BoundingPolys []*GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingPolys,omitempty"` 11656 11657 // Name: The resource name of the reference image. 11658 // 11659 // Format 11660 // is: 11661 // 11662 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referen 11663 // ceImages/IMAGE_ID`. 11664 // 11665 // This field is ignored when creating a reference image. 11666 Name string `json:"name,omitempty"` 11667 11668 // Uri: The Google Cloud Storage URI of the reference image. 11669 // 11670 // The URI must start with `gs://`. 11671 // 11672 // Required. 11673 Uri string `json:"uri,omitempty"` 11674 11675 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 11676 // unconditionally include in API requests. By default, fields with 11677 // empty values are omitted from API requests. However, any non-pointer, 11678 // non-interface field appearing in ForceSendFields will be sent to the 11679 // server regardless of whether the field is empty or not. This may be 11680 // used to include empty fields in Patch requests. 11681 ForceSendFields []string `json:"-"` 11682 11683 // NullFields is a list of field names (e.g. "BoundingPolys") to include 11684 // in API requests with the JSON null value. By default, fields with 11685 // empty values are omitted from API requests. However, any field with 11686 // an empty value appearing in NullFields will be sent to the server as 11687 // null. It is an error if a field in this list has a non-empty value. 11688 // This may be used to include null fields in Patch requests. 11689 NullFields []string `json:"-"` 11690} 11691 11692func (s *GoogleCloudVisionV1p4beta1ReferenceImage) MarshalJSON() ([]byte, error) { 11693 type NoMethod GoogleCloudVisionV1p4beta1ReferenceImage 11694 raw := NoMethod(*s) 11695 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11696} 11697 11698// GoogleCloudVisionV1p4beta1SafeSearchAnnotation: Set of features 11699// pertaining to the image, computed by computer vision 11700// methods over safe-search verticals (for example, adult, spoof, 11701// medical, 11702// violence). 11703type GoogleCloudVisionV1p4beta1SafeSearchAnnotation struct { 11704 // Adult: Represents the adult content likelihood for the image. Adult 11705 // content may 11706 // contain elements such as nudity, pornographic images or cartoons, 11707 // or 11708 // sexual activities. 11709 // 11710 // Possible values: 11711 // "UNKNOWN" - Unknown likelihood. 11712 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 11713 // specified vertical. 11714 // "UNLIKELY" - It is unlikely that the image belongs to the specified 11715 // vertical. 11716 // "POSSIBLE" - It is possible that the image belongs to the specified 11717 // vertical. 11718 // "LIKELY" - It is likely that the image belongs to the specified 11719 // vertical. 11720 // "VERY_LIKELY" - It is very likely that the image belongs to the 11721 // specified vertical. 11722 Adult string `json:"adult,omitempty"` 11723 11724 // Medical: Likelihood that this is a medical image. 11725 // 11726 // Possible values: 11727 // "UNKNOWN" - Unknown likelihood. 11728 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 11729 // specified vertical. 11730 // "UNLIKELY" - It is unlikely that the image belongs to the specified 11731 // vertical. 11732 // "POSSIBLE" - It is possible that the image belongs to the specified 11733 // vertical. 11734 // "LIKELY" - It is likely that the image belongs to the specified 11735 // vertical. 11736 // "VERY_LIKELY" - It is very likely that the image belongs to the 11737 // specified vertical. 11738 Medical string `json:"medical,omitempty"` 11739 11740 // Racy: Likelihood that the request image contains racy content. Racy 11741 // content may 11742 // include (but is not limited to) skimpy or sheer clothing, 11743 // strategically 11744 // covered nudity, lewd or provocative poses, or close-ups of 11745 // sensitive 11746 // body areas. 11747 // 11748 // Possible values: 11749 // "UNKNOWN" - Unknown likelihood. 11750 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 11751 // specified vertical. 11752 // "UNLIKELY" - It is unlikely that the image belongs to the specified 11753 // vertical. 11754 // "POSSIBLE" - It is possible that the image belongs to the specified 11755 // vertical. 11756 // "LIKELY" - It is likely that the image belongs to the specified 11757 // vertical. 11758 // "VERY_LIKELY" - It is very likely that the image belongs to the 11759 // specified vertical. 11760 Racy string `json:"racy,omitempty"` 11761 11762 // Spoof: Spoof likelihood. The likelihood that an modification 11763 // was made to the image's canonical version to make it appear 11764 // funny or offensive. 11765 // 11766 // Possible values: 11767 // "UNKNOWN" - Unknown likelihood. 11768 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 11769 // specified vertical. 11770 // "UNLIKELY" - It is unlikely that the image belongs to the specified 11771 // vertical. 11772 // "POSSIBLE" - It is possible that the image belongs to the specified 11773 // vertical. 11774 // "LIKELY" - It is likely that the image belongs to the specified 11775 // vertical. 11776 // "VERY_LIKELY" - It is very likely that the image belongs to the 11777 // specified vertical. 11778 Spoof string `json:"spoof,omitempty"` 11779 11780 // Violence: Likelihood that this image contains violent content. 11781 // 11782 // Possible values: 11783 // "UNKNOWN" - Unknown likelihood. 11784 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 11785 // specified vertical. 11786 // "UNLIKELY" - It is unlikely that the image belongs to the specified 11787 // vertical. 11788 // "POSSIBLE" - It is possible that the image belongs to the specified 11789 // vertical. 11790 // "LIKELY" - It is likely that the image belongs to the specified 11791 // vertical. 11792 // "VERY_LIKELY" - It is very likely that the image belongs to the 11793 // specified vertical. 11794 Violence string `json:"violence,omitempty"` 11795 11796 // ForceSendFields is a list of field names (e.g. "Adult") to 11797 // unconditionally include in API requests. By default, fields with 11798 // empty values are omitted from API requests. However, any non-pointer, 11799 // non-interface field appearing in ForceSendFields will be sent to the 11800 // server regardless of whether the field is empty or not. This may be 11801 // used to include empty fields in Patch requests. 11802 ForceSendFields []string `json:"-"` 11803 11804 // NullFields is a list of field names (e.g. "Adult") to include in API 11805 // requests with the JSON null value. By default, fields with empty 11806 // values are omitted from API requests. However, any field with an 11807 // empty value appearing in NullFields will be sent to the server as 11808 // null. It is an error if a field in this list has a non-empty value. 11809 // This may be used to include null fields in Patch requests. 11810 NullFields []string `json:"-"` 11811} 11812 11813func (s *GoogleCloudVisionV1p4beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 11814 type NoMethod GoogleCloudVisionV1p4beta1SafeSearchAnnotation 11815 raw := NoMethod(*s) 11816 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11817} 11818 11819// GoogleCloudVisionV1p4beta1Symbol: A single symbol representation. 11820type GoogleCloudVisionV1p4beta1Symbol struct { 11821 // BoundingBox: The bounding box for the symbol. 11822 // The vertices are in the order of top-left, top-right, 11823 // bottom-right, 11824 // bottom-left. When a rotation of the bounding box is detected the 11825 // rotation 11826 // is represented as around the top-left corner as defined when the text 11827 // is 11828 // read in the 'natural' orientation. 11829 // For example: 11830 // * when the text is horizontal it might look like: 11831 // 0----1 11832 // | | 11833 // 3----2 11834 // * when it's rotated 180 degrees around the top-left corner it 11835 // becomes: 11836 // 2----3 11837 // | | 11838 // 1----0 11839 // and the vertice order will still be (0, 1, 2, 3). 11840 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 11841 11842 // Confidence: Confidence of the OCR results for the symbol. Range [0, 11843 // 1]. 11844 Confidence float64 `json:"confidence,omitempty"` 11845 11846 // Property: Additional information detected for the symbol. 11847 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 11848 11849 // Text: The actual UTF-8 representation of the symbol. 11850 Text string `json:"text,omitempty"` 11851 11852 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 11853 // unconditionally include in API requests. By default, fields with 11854 // empty values are omitted from API requests. However, any non-pointer, 11855 // non-interface field appearing in ForceSendFields will be sent to the 11856 // server regardless of whether the field is empty or not. This may be 11857 // used to include empty fields in Patch requests. 11858 ForceSendFields []string `json:"-"` 11859 11860 // NullFields is a list of field names (e.g. "BoundingBox") to include 11861 // in API requests with the JSON null value. By default, fields with 11862 // empty values are omitted from API requests. However, any field with 11863 // an empty value appearing in NullFields will be sent to the server as 11864 // null. It is an error if a field in this list has a non-empty value. 11865 // This may be used to include null fields in Patch requests. 11866 NullFields []string `json:"-"` 11867} 11868 11869func (s *GoogleCloudVisionV1p4beta1Symbol) MarshalJSON() ([]byte, error) { 11870 type NoMethod GoogleCloudVisionV1p4beta1Symbol 11871 raw := NoMethod(*s) 11872 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11873} 11874 11875func (s *GoogleCloudVisionV1p4beta1Symbol) UnmarshalJSON(data []byte) error { 11876 type NoMethod GoogleCloudVisionV1p4beta1Symbol 11877 var s1 struct { 11878 Confidence gensupport.JSONFloat64 `json:"confidence"` 11879 *NoMethod 11880 } 11881 s1.NoMethod = (*NoMethod)(s) 11882 if err := json.Unmarshal(data, &s1); err != nil { 11883 return err 11884 } 11885 s.Confidence = float64(s1.Confidence) 11886 return nil 11887} 11888 11889// GoogleCloudVisionV1p4beta1TextAnnotation: TextAnnotation contains a 11890// structured representation of OCR extracted text. 11891// The hierarchy of an OCR extracted text structure is like this: 11892// TextAnnotation -> Page -> Block -> Paragraph -> Word -> 11893// Symbol 11894// Each structural component, starting from Page, may further have their 11895// own 11896// properties. Properties describe detected languages, breaks etc.. 11897// Please refer 11898// to the TextAnnotation.TextProperty message definition below for 11899// more 11900// detail. 11901type GoogleCloudVisionV1p4beta1TextAnnotation struct { 11902 // Pages: List of pages detected by OCR. 11903 Pages []*GoogleCloudVisionV1p4beta1Page `json:"pages,omitempty"` 11904 11905 // Text: UTF-8 text detected on the pages. 11906 Text string `json:"text,omitempty"` 11907 11908 // ForceSendFields is a list of field names (e.g. "Pages") to 11909 // unconditionally include in API requests. By default, fields with 11910 // empty values are omitted from API requests. However, any non-pointer, 11911 // non-interface field appearing in ForceSendFields will be sent to the 11912 // server regardless of whether the field is empty or not. This may be 11913 // used to include empty fields in Patch requests. 11914 ForceSendFields []string `json:"-"` 11915 11916 // NullFields is a list of field names (e.g. "Pages") to include in API 11917 // requests with the JSON null value. By default, fields with empty 11918 // values are omitted from API requests. However, any field with an 11919 // empty value appearing in NullFields will be sent to the server as 11920 // null. It is an error if a field in this list has a non-empty value. 11921 // This may be used to include null fields in Patch requests. 11922 NullFields []string `json:"-"` 11923} 11924 11925func (s *GoogleCloudVisionV1p4beta1TextAnnotation) MarshalJSON() ([]byte, error) { 11926 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotation 11927 raw := NoMethod(*s) 11928 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11929} 11930 11931// GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak: Detected start 11932// or end of a structural component. 11933type GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak struct { 11934 // IsPrefix: True if break prepends the element. 11935 IsPrefix bool `json:"isPrefix,omitempty"` 11936 11937 // Type: Detected break type. 11938 // 11939 // Possible values: 11940 // "UNKNOWN" - Unknown break label type. 11941 // "SPACE" - Regular space. 11942 // "SURE_SPACE" - Sure space (very wide). 11943 // "EOL_SURE_SPACE" - Line-wrapping break. 11944 // "HYPHEN" - End-line hyphen that is not present in text; does not 11945 // co-occur with 11946 // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 11947 // "LINE_BREAK" - Line break that ends a paragraph. 11948 Type string `json:"type,omitempty"` 11949 11950 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 11951 // unconditionally include in API requests. By default, fields with 11952 // empty values are omitted from API requests. However, any non-pointer, 11953 // non-interface field appearing in ForceSendFields will be sent to the 11954 // server regardless of whether the field is empty or not. This may be 11955 // used to include empty fields in Patch requests. 11956 ForceSendFields []string `json:"-"` 11957 11958 // NullFields is a list of field names (e.g. "IsPrefix") to include in 11959 // API requests with the JSON null value. By default, fields with empty 11960 // values are omitted from API requests. However, any field with an 11961 // empty value appearing in NullFields will be sent to the server as 11962 // null. It is an error if a field in this list has a non-empty value. 11963 // This may be used to include null fields in Patch requests. 11964 NullFields []string `json:"-"` 11965} 11966 11967func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 11968 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak 11969 raw := NoMethod(*s) 11970 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 11971} 11972 11973// GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage: Detected 11974// language for a structural component. 11975type GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage struct { 11976 // Confidence: Confidence of detected language. Range [0, 1]. 11977 Confidence float64 `json:"confidence,omitempty"` 11978 11979 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 11980 // For more 11981 // information, 11982 // see 11983 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 11984 LanguageCode string `json:"languageCode,omitempty"` 11985 11986 // ForceSendFields is a list of field names (e.g. "Confidence") to 11987 // unconditionally include in API requests. By default, fields with 11988 // empty values are omitted from API requests. However, any non-pointer, 11989 // non-interface field appearing in ForceSendFields will be sent to the 11990 // server regardless of whether the field is empty or not. This may be 11991 // used to include empty fields in Patch requests. 11992 ForceSendFields []string `json:"-"` 11993 11994 // NullFields is a list of field names (e.g. "Confidence") to include in 11995 // API requests with the JSON null value. By default, fields with empty 11996 // values are omitted from API requests. However, any field with an 11997 // empty value appearing in NullFields will be sent to the server as 11998 // null. It is an error if a field in this list has a non-empty value. 11999 // This may be used to include null fields in Patch requests. 12000 NullFields []string `json:"-"` 12001} 12002 12003func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 12004 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage 12005 raw := NoMethod(*s) 12006 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12007} 12008 12009func (s *GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 12010 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage 12011 var s1 struct { 12012 Confidence gensupport.JSONFloat64 `json:"confidence"` 12013 *NoMethod 12014 } 12015 s1.NoMethod = (*NoMethod)(s) 12016 if err := json.Unmarshal(data, &s1); err != nil { 12017 return err 12018 } 12019 s.Confidence = float64(s1.Confidence) 12020 return nil 12021} 12022 12023// GoogleCloudVisionV1p4beta1TextAnnotationTextProperty: Additional 12024// information detected on the structural component. 12025type GoogleCloudVisionV1p4beta1TextAnnotationTextProperty struct { 12026 // DetectedBreak: Detected start or end of a text segment. 12027 DetectedBreak *GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 12028 12029 // DetectedLanguages: A list of detected languages together with 12030 // confidence. 12031 DetectedLanguages []*GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 12032 12033 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 12034 // unconditionally include in API requests. By default, fields with 12035 // empty values are omitted from API requests. However, any non-pointer, 12036 // non-interface field appearing in ForceSendFields will be sent to the 12037 // server regardless of whether the field is empty or not. This may be 12038 // used to include empty fields in Patch requests. 12039 ForceSendFields []string `json:"-"` 12040 12041 // NullFields is a list of field names (e.g. "DetectedBreak") to include 12042 // in API requests with the JSON null value. By default, fields with 12043 // empty values are omitted from API requests. However, any field with 12044 // an empty value appearing in NullFields will be sent to the server as 12045 // null. It is an error if a field in this list has a non-empty value. 12046 // This may be used to include null fields in Patch requests. 12047 NullFields []string `json:"-"` 12048} 12049 12050func (s *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 12051 type NoMethod GoogleCloudVisionV1p4beta1TextAnnotationTextProperty 12052 raw := NoMethod(*s) 12053 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12054} 12055 12056// GoogleCloudVisionV1p4beta1Vertex: A vertex represents a 2D point in 12057// the image. 12058// NOTE: the vertex coordinates are in the same scale as the original 12059// image. 12060type GoogleCloudVisionV1p4beta1Vertex struct { 12061 // X: X coordinate. 12062 X int64 `json:"x,omitempty"` 12063 12064 // Y: Y coordinate. 12065 Y int64 `json:"y,omitempty"` 12066 12067 // ForceSendFields is a list of field names (e.g. "X") to 12068 // unconditionally include in API requests. By default, fields with 12069 // empty values are omitted from API requests. However, any non-pointer, 12070 // non-interface field appearing in ForceSendFields will be sent to the 12071 // server regardless of whether the field is empty or not. This may be 12072 // used to include empty fields in Patch requests. 12073 ForceSendFields []string `json:"-"` 12074 12075 // NullFields is a list of field names (e.g. "X") to include in API 12076 // requests with the JSON null value. By default, fields with empty 12077 // values are omitted from API requests. However, any field with an 12078 // empty value appearing in NullFields will be sent to the server as 12079 // null. It is an error if a field in this list has a non-empty value. 12080 // This may be used to include null fields in Patch requests. 12081 NullFields []string `json:"-"` 12082} 12083 12084func (s *GoogleCloudVisionV1p4beta1Vertex) MarshalJSON() ([]byte, error) { 12085 type NoMethod GoogleCloudVisionV1p4beta1Vertex 12086 raw := NoMethod(*s) 12087 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12088} 12089 12090// GoogleCloudVisionV1p4beta1WebDetection: Relevant information for the 12091// image from the Internet. 12092type GoogleCloudVisionV1p4beta1WebDetection struct { 12093 // BestGuessLabels: The service's best guess as to the topic of the 12094 // request image. 12095 // Inferred from similar images on the open web. 12096 BestGuessLabels []*GoogleCloudVisionV1p4beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 12097 12098 // FullMatchingImages: Fully matching images from the Internet. 12099 // Can include resized copies of the query image. 12100 FullMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 12101 12102 // PagesWithMatchingImages: Web pages containing the matching images 12103 // from the Internet. 12104 PagesWithMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 12105 12106 // PartialMatchingImages: Partial matching images from the 12107 // Internet. 12108 // Those images are similar enough to share some key-point features. 12109 // For 12110 // example an original image will likely have partial matching for its 12111 // crops. 12112 PartialMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 12113 12114 // VisuallySimilarImages: The visually similar image results. 12115 VisuallySimilarImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 12116 12117 // WebEntities: Deduced entities from similar images on the Internet. 12118 WebEntities []*GoogleCloudVisionV1p4beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 12119 12120 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 12121 // unconditionally include in API requests. By default, fields with 12122 // empty values are omitted from API requests. However, any non-pointer, 12123 // non-interface field appearing in ForceSendFields will be sent to the 12124 // server regardless of whether the field is empty or not. This may be 12125 // used to include empty fields in Patch requests. 12126 ForceSendFields []string `json:"-"` 12127 12128 // NullFields is a list of field names (e.g. "BestGuessLabels") to 12129 // include in API requests with the JSON null value. By default, fields 12130 // with empty values are omitted from API requests. However, any field 12131 // with an empty value appearing in NullFields will be sent to the 12132 // server as null. It is an error if a field in this list has a 12133 // non-empty value. This may be used to include null fields in Patch 12134 // requests. 12135 NullFields []string `json:"-"` 12136} 12137 12138func (s *GoogleCloudVisionV1p4beta1WebDetection) MarshalJSON() ([]byte, error) { 12139 type NoMethod GoogleCloudVisionV1p4beta1WebDetection 12140 raw := NoMethod(*s) 12141 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12142} 12143 12144// GoogleCloudVisionV1p4beta1WebDetectionWebEntity: Entity deduced from 12145// similar images on the Internet. 12146type GoogleCloudVisionV1p4beta1WebDetectionWebEntity struct { 12147 // Description: Canonical description of the entity, in English. 12148 Description string `json:"description,omitempty"` 12149 12150 // EntityId: Opaque entity ID. 12151 EntityId string `json:"entityId,omitempty"` 12152 12153 // Score: Overall relevancy score for the entity. 12154 // Not normalized and not comparable across different image queries. 12155 Score float64 `json:"score,omitempty"` 12156 12157 // ForceSendFields is a list of field names (e.g. "Description") to 12158 // unconditionally include in API requests. By default, fields with 12159 // empty values are omitted from API requests. However, any non-pointer, 12160 // non-interface field appearing in ForceSendFields will be sent to the 12161 // server regardless of whether the field is empty or not. This may be 12162 // used to include empty fields in Patch requests. 12163 ForceSendFields []string `json:"-"` 12164 12165 // NullFields is a list of field names (e.g. "Description") to include 12166 // in API requests with the JSON null value. By default, fields with 12167 // empty values are omitted from API requests. However, any field with 12168 // an empty value appearing in NullFields will be sent to the server as 12169 // null. It is an error if a field in this list has a non-empty value. 12170 // This may be used to include null fields in Patch requests. 12171 NullFields []string `json:"-"` 12172} 12173 12174func (s *GoogleCloudVisionV1p4beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 12175 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebEntity 12176 raw := NoMethod(*s) 12177 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12178} 12179 12180func (s *GoogleCloudVisionV1p4beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 12181 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebEntity 12182 var s1 struct { 12183 Score gensupport.JSONFloat64 `json:"score"` 12184 *NoMethod 12185 } 12186 s1.NoMethod = (*NoMethod)(s) 12187 if err := json.Unmarshal(data, &s1); err != nil { 12188 return err 12189 } 12190 s.Score = float64(s1.Score) 12191 return nil 12192} 12193 12194// GoogleCloudVisionV1p4beta1WebDetectionWebImage: Metadata for online 12195// images. 12196type GoogleCloudVisionV1p4beta1WebDetectionWebImage struct { 12197 // Score: (Deprecated) Overall relevancy score for the image. 12198 Score float64 `json:"score,omitempty"` 12199 12200 // Url: The result image URL. 12201 Url string `json:"url,omitempty"` 12202 12203 // ForceSendFields is a list of field names (e.g. "Score") to 12204 // unconditionally include in API requests. By default, fields with 12205 // empty values are omitted from API requests. However, any non-pointer, 12206 // non-interface field appearing in ForceSendFields will be sent to the 12207 // server regardless of whether the field is empty or not. This may be 12208 // used to include empty fields in Patch requests. 12209 ForceSendFields []string `json:"-"` 12210 12211 // NullFields is a list of field names (e.g. "Score") to include in API 12212 // requests with the JSON null value. By default, fields with empty 12213 // values are omitted from API requests. However, any field with an 12214 // empty value appearing in NullFields will be sent to the server as 12215 // null. It is an error if a field in this list has a non-empty value. 12216 // This may be used to include null fields in Patch requests. 12217 NullFields []string `json:"-"` 12218} 12219 12220func (s *GoogleCloudVisionV1p4beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 12221 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebImage 12222 raw := NoMethod(*s) 12223 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12224} 12225 12226func (s *GoogleCloudVisionV1p4beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 12227 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebImage 12228 var s1 struct { 12229 Score gensupport.JSONFloat64 `json:"score"` 12230 *NoMethod 12231 } 12232 s1.NoMethod = (*NoMethod)(s) 12233 if err := json.Unmarshal(data, &s1); err != nil { 12234 return err 12235 } 12236 s.Score = float64(s1.Score) 12237 return nil 12238} 12239 12240// GoogleCloudVisionV1p4beta1WebDetectionWebLabel: Label to provide 12241// extra metadata for the web detection. 12242type GoogleCloudVisionV1p4beta1WebDetectionWebLabel struct { 12243 // Label: Label for extra metadata. 12244 Label string `json:"label,omitempty"` 12245 12246 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 12247 // or "sr-Latn". 12248 // For more information, 12249 // see 12250 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 12251 LanguageCode string `json:"languageCode,omitempty"` 12252 12253 // ForceSendFields is a list of field names (e.g. "Label") to 12254 // unconditionally include in API requests. By default, fields with 12255 // empty values are omitted from API requests. However, any non-pointer, 12256 // non-interface field appearing in ForceSendFields will be sent to the 12257 // server regardless of whether the field is empty or not. This may be 12258 // used to include empty fields in Patch requests. 12259 ForceSendFields []string `json:"-"` 12260 12261 // NullFields is a list of field names (e.g. "Label") to include in API 12262 // requests with the JSON null value. By default, fields with empty 12263 // values are omitted from API requests. However, any field with an 12264 // empty value appearing in NullFields will be sent to the server as 12265 // null. It is an error if a field in this list has a non-empty value. 12266 // This may be used to include null fields in Patch requests. 12267 NullFields []string `json:"-"` 12268} 12269 12270func (s *GoogleCloudVisionV1p4beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 12271 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebLabel 12272 raw := NoMethod(*s) 12273 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12274} 12275 12276// GoogleCloudVisionV1p4beta1WebDetectionWebPage: Metadata for web 12277// pages. 12278type GoogleCloudVisionV1p4beta1WebDetectionWebPage struct { 12279 // FullMatchingImages: Fully matching images on the page. 12280 // Can include resized copies of the query image. 12281 FullMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 12282 12283 // PageTitle: Title for the web page, may contain HTML markups. 12284 PageTitle string `json:"pageTitle,omitempty"` 12285 12286 // PartialMatchingImages: Partial matching images on the page. 12287 // Those images are similar enough to share some key-point features. 12288 // For 12289 // example an original image will likely have partial matching for 12290 // its 12291 // crops. 12292 PartialMatchingImages []*GoogleCloudVisionV1p4beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 12293 12294 // Score: (Deprecated) Overall relevancy score for the web page. 12295 Score float64 `json:"score,omitempty"` 12296 12297 // Url: The result web page URL. 12298 Url string `json:"url,omitempty"` 12299 12300 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 12301 // to unconditionally include in API requests. By default, fields with 12302 // empty values are omitted from API requests. However, any non-pointer, 12303 // non-interface field appearing in ForceSendFields will be sent to the 12304 // server regardless of whether the field is empty or not. This may be 12305 // used to include empty fields in Patch requests. 12306 ForceSendFields []string `json:"-"` 12307 12308 // NullFields is a list of field names (e.g. "FullMatchingImages") to 12309 // include in API requests with the JSON null value. By default, fields 12310 // with empty values are omitted from API requests. However, any field 12311 // with an empty value appearing in NullFields will be sent to the 12312 // server as null. It is an error if a field in this list has a 12313 // non-empty value. This may be used to include null fields in Patch 12314 // requests. 12315 NullFields []string `json:"-"` 12316} 12317 12318func (s *GoogleCloudVisionV1p4beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 12319 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebPage 12320 raw := NoMethod(*s) 12321 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12322} 12323 12324func (s *GoogleCloudVisionV1p4beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 12325 type NoMethod GoogleCloudVisionV1p4beta1WebDetectionWebPage 12326 var s1 struct { 12327 Score gensupport.JSONFloat64 `json:"score"` 12328 *NoMethod 12329 } 12330 s1.NoMethod = (*NoMethod)(s) 12331 if err := json.Unmarshal(data, &s1); err != nil { 12332 return err 12333 } 12334 s.Score = float64(s1.Score) 12335 return nil 12336} 12337 12338// GoogleCloudVisionV1p4beta1Word: A word representation. 12339type GoogleCloudVisionV1p4beta1Word struct { 12340 // BoundingBox: The bounding box for the word. 12341 // The vertices are in the order of top-left, top-right, 12342 // bottom-right, 12343 // bottom-left. When a rotation of the bounding box is detected the 12344 // rotation 12345 // is represented as around the top-left corner as defined when the text 12346 // is 12347 // read in the 'natural' orientation. 12348 // For example: 12349 // * when the text is horizontal it might look like: 12350 // 0----1 12351 // | | 12352 // 3----2 12353 // * when it's rotated 180 degrees around the top-left corner it 12354 // becomes: 12355 // 2----3 12356 // | | 12357 // 1----0 12358 // and the vertex order will still be (0, 1, 2, 3). 12359 BoundingBox *GoogleCloudVisionV1p4beta1BoundingPoly `json:"boundingBox,omitempty"` 12360 12361 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 12362 Confidence float64 `json:"confidence,omitempty"` 12363 12364 // Property: Additional information detected for the word. 12365 Property *GoogleCloudVisionV1p4beta1TextAnnotationTextProperty `json:"property,omitempty"` 12366 12367 // Symbols: List of symbols in the word. 12368 // The order of the symbols follows the natural reading order. 12369 Symbols []*GoogleCloudVisionV1p4beta1Symbol `json:"symbols,omitempty"` 12370 12371 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 12372 // unconditionally include in API requests. By default, fields with 12373 // empty values are omitted from API requests. However, any non-pointer, 12374 // non-interface field appearing in ForceSendFields will be sent to the 12375 // server regardless of whether the field is empty or not. This may be 12376 // used to include empty fields in Patch requests. 12377 ForceSendFields []string `json:"-"` 12378 12379 // NullFields is a list of field names (e.g. "BoundingBox") to include 12380 // in API requests with the JSON null value. By default, fields with 12381 // empty values are omitted from API requests. However, any field with 12382 // an empty value appearing in NullFields will be sent to the server as 12383 // null. It is an error if a field in this list has a non-empty value. 12384 // This may be used to include null fields in Patch requests. 12385 NullFields []string `json:"-"` 12386} 12387 12388func (s *GoogleCloudVisionV1p4beta1Word) MarshalJSON() ([]byte, error) { 12389 type NoMethod GoogleCloudVisionV1p4beta1Word 12390 raw := NoMethod(*s) 12391 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12392} 12393 12394func (s *GoogleCloudVisionV1p4beta1Word) UnmarshalJSON(data []byte) error { 12395 type NoMethod GoogleCloudVisionV1p4beta1Word 12396 var s1 struct { 12397 Confidence gensupport.JSONFloat64 `json:"confidence"` 12398 *NoMethod 12399 } 12400 s1.NoMethod = (*NoMethod)(s) 12401 if err := json.Unmarshal(data, &s1); err != nil { 12402 return err 12403 } 12404 s.Confidence = float64(s1.Confidence) 12405 return nil 12406} 12407 12408// GoogleCloudVisionV1p5beta1AnnotateFileResponse: Response to a single 12409// file annotation request. A file may contain one or more 12410// images, which individually have their own responses. 12411type GoogleCloudVisionV1p5beta1AnnotateFileResponse struct { 12412 // InputConfig: Information about the file for which this response is 12413 // generated. 12414 InputConfig *GoogleCloudVisionV1p5beta1InputConfig `json:"inputConfig,omitempty"` 12415 12416 // Responses: Individual responses to images found within the file. 12417 Responses []*GoogleCloudVisionV1p5beta1AnnotateImageResponse `json:"responses,omitempty"` 12418 12419 // TotalPages: This field gives the total number of pages in the file. 12420 TotalPages int64 `json:"totalPages,omitempty"` 12421 12422 // ForceSendFields is a list of field names (e.g. "InputConfig") to 12423 // unconditionally include in API requests. By default, fields with 12424 // empty values are omitted from API requests. However, any non-pointer, 12425 // non-interface field appearing in ForceSendFields will be sent to the 12426 // server regardless of whether the field is empty or not. This may be 12427 // used to include empty fields in Patch requests. 12428 ForceSendFields []string `json:"-"` 12429 12430 // NullFields is a list of field names (e.g. "InputConfig") to include 12431 // in API requests with the JSON null value. By default, fields with 12432 // empty values are omitted from API requests. However, any field with 12433 // an empty value appearing in NullFields will be sent to the server as 12434 // null. It is an error if a field in this list has a non-empty value. 12435 // This may be used to include null fields in Patch requests. 12436 NullFields []string `json:"-"` 12437} 12438 12439func (s *GoogleCloudVisionV1p5beta1AnnotateFileResponse) MarshalJSON() ([]byte, error) { 12440 type NoMethod GoogleCloudVisionV1p5beta1AnnotateFileResponse 12441 raw := NoMethod(*s) 12442 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12443} 12444 12445// GoogleCloudVisionV1p5beta1AnnotateImageResponse: Response to an image 12446// annotation request. 12447type GoogleCloudVisionV1p5beta1AnnotateImageResponse struct { 12448 // Context: If present, contextual information is needed to understand 12449 // where this image 12450 // comes from. 12451 Context *GoogleCloudVisionV1p5beta1ImageAnnotationContext `json:"context,omitempty"` 12452 12453 // CropHintsAnnotation: If present, crop hints have completed 12454 // successfully. 12455 CropHintsAnnotation *GoogleCloudVisionV1p5beta1CropHintsAnnotation `json:"cropHintsAnnotation,omitempty"` 12456 12457 // Error: If set, represents the error message for the operation. 12458 // Note that filled-in image annotations are guaranteed to be 12459 // correct, even when `error` is set. 12460 Error *Status `json:"error,omitempty"` 12461 12462 // FaceAnnotations: If present, face detection has completed 12463 // successfully. 12464 FaceAnnotations []*GoogleCloudVisionV1p5beta1FaceAnnotation `json:"faceAnnotations,omitempty"` 12465 12466 // FullTextAnnotation: If present, text (OCR) detection or document 12467 // (OCR) text detection has 12468 // completed successfully. 12469 // This annotation provides the structural hierarchy for the OCR 12470 // detected 12471 // text. 12472 FullTextAnnotation *GoogleCloudVisionV1p5beta1TextAnnotation `json:"fullTextAnnotation,omitempty"` 12473 12474 // ImagePropertiesAnnotation: If present, image properties were 12475 // extracted successfully. 12476 ImagePropertiesAnnotation *GoogleCloudVisionV1p5beta1ImageProperties `json:"imagePropertiesAnnotation,omitempty"` 12477 12478 // LabelAnnotations: If present, label detection has completed 12479 // successfully. 12480 LabelAnnotations []*GoogleCloudVisionV1p5beta1EntityAnnotation `json:"labelAnnotations,omitempty"` 12481 12482 // LandmarkAnnotations: If present, landmark detection has completed 12483 // successfully. 12484 LandmarkAnnotations []*GoogleCloudVisionV1p5beta1EntityAnnotation `json:"landmarkAnnotations,omitempty"` 12485 12486 // LocalizedObjectAnnotations: If present, localized object detection 12487 // has completed successfully. 12488 // This will be sorted descending by confidence score. 12489 LocalizedObjectAnnotations []*GoogleCloudVisionV1p5beta1LocalizedObjectAnnotation `json:"localizedObjectAnnotations,omitempty"` 12490 12491 // LogoAnnotations: If present, logo detection has completed 12492 // successfully. 12493 LogoAnnotations []*GoogleCloudVisionV1p5beta1EntityAnnotation `json:"logoAnnotations,omitempty"` 12494 12495 // ProductSearchResults: If present, product search has completed 12496 // successfully. 12497 ProductSearchResults *GoogleCloudVisionV1p5beta1ProductSearchResults `json:"productSearchResults,omitempty"` 12498 12499 // SafeSearchAnnotation: If present, safe-search annotation has 12500 // completed successfully. 12501 SafeSearchAnnotation *GoogleCloudVisionV1p5beta1SafeSearchAnnotation `json:"safeSearchAnnotation,omitempty"` 12502 12503 // TextAnnotations: If present, text (OCR) detection has completed 12504 // successfully. 12505 TextAnnotations []*GoogleCloudVisionV1p5beta1EntityAnnotation `json:"textAnnotations,omitempty"` 12506 12507 // WebDetection: If present, web detection has completed successfully. 12508 WebDetection *GoogleCloudVisionV1p5beta1WebDetection `json:"webDetection,omitempty"` 12509 12510 // ForceSendFields is a list of field names (e.g. "Context") to 12511 // unconditionally include in API requests. By default, fields with 12512 // empty values are omitted from API requests. However, any non-pointer, 12513 // non-interface field appearing in ForceSendFields will be sent to the 12514 // server regardless of whether the field is empty or not. This may be 12515 // used to include empty fields in Patch requests. 12516 ForceSendFields []string `json:"-"` 12517 12518 // NullFields is a list of field names (e.g. "Context") to include in 12519 // API requests with the JSON null value. By default, fields with empty 12520 // values are omitted from API requests. However, any field with an 12521 // empty value appearing in NullFields will be sent to the server as 12522 // null. It is an error if a field in this list has a non-empty value. 12523 // This may be used to include null fields in Patch requests. 12524 NullFields []string `json:"-"` 12525} 12526 12527func (s *GoogleCloudVisionV1p5beta1AnnotateImageResponse) MarshalJSON() ([]byte, error) { 12528 type NoMethod GoogleCloudVisionV1p5beta1AnnotateImageResponse 12529 raw := NoMethod(*s) 12530 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12531} 12532 12533// GoogleCloudVisionV1p5beta1AsyncAnnotateFileResponse: The response for 12534// a single offline file annotation request. 12535type GoogleCloudVisionV1p5beta1AsyncAnnotateFileResponse struct { 12536 // OutputConfig: The output location and metadata from 12537 // AsyncAnnotateFileRequest. 12538 OutputConfig *GoogleCloudVisionV1p5beta1OutputConfig `json:"outputConfig,omitempty"` 12539 12540 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 12541 // unconditionally include in API requests. By default, fields with 12542 // empty values are omitted from API requests. However, any non-pointer, 12543 // non-interface field appearing in ForceSendFields will be sent to the 12544 // server regardless of whether the field is empty or not. This may be 12545 // used to include empty fields in Patch requests. 12546 ForceSendFields []string `json:"-"` 12547 12548 // NullFields is a list of field names (e.g. "OutputConfig") to include 12549 // in API requests with the JSON null value. By default, fields with 12550 // empty values are omitted from API requests. However, any field with 12551 // an empty value appearing in NullFields will be sent to the server as 12552 // null. It is an error if a field in this list has a non-empty value. 12553 // This may be used to include null fields in Patch requests. 12554 NullFields []string `json:"-"` 12555} 12556 12557func (s *GoogleCloudVisionV1p5beta1AsyncAnnotateFileResponse) MarshalJSON() ([]byte, error) { 12558 type NoMethod GoogleCloudVisionV1p5beta1AsyncAnnotateFileResponse 12559 raw := NoMethod(*s) 12560 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12561} 12562 12563// GoogleCloudVisionV1p5beta1AsyncBatchAnnotateFilesResponse: Response 12564// to an async batch file annotation request. 12565type GoogleCloudVisionV1p5beta1AsyncBatchAnnotateFilesResponse struct { 12566 // Responses: The list of file annotation responses, one for each 12567 // request in 12568 // AsyncBatchAnnotateFilesRequest. 12569 Responses []*GoogleCloudVisionV1p5beta1AsyncAnnotateFileResponse `json:"responses,omitempty"` 12570 12571 // ForceSendFields is a list of field names (e.g. "Responses") to 12572 // unconditionally include in API requests. By default, fields with 12573 // empty values are omitted from API requests. However, any non-pointer, 12574 // non-interface field appearing in ForceSendFields will be sent to the 12575 // server regardless of whether the field is empty or not. This may be 12576 // used to include empty fields in Patch requests. 12577 ForceSendFields []string `json:"-"` 12578 12579 // NullFields is a list of field names (e.g. "Responses") to include in 12580 // API requests with the JSON null value. By default, fields with empty 12581 // values are omitted from API requests. However, any field with an 12582 // empty value appearing in NullFields will be sent to the server as 12583 // null. It is an error if a field in this list has a non-empty value. 12584 // This may be used to include null fields in Patch requests. 12585 NullFields []string `json:"-"` 12586} 12587 12588func (s *GoogleCloudVisionV1p5beta1AsyncBatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 12589 type NoMethod GoogleCloudVisionV1p5beta1AsyncBatchAnnotateFilesResponse 12590 raw := NoMethod(*s) 12591 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12592} 12593 12594// GoogleCloudVisionV1p5beta1AsyncBatchAnnotateImagesResponse: Response 12595// to an async batch image annotation request. 12596type GoogleCloudVisionV1p5beta1AsyncBatchAnnotateImagesResponse struct { 12597 // OutputConfig: The output location and metadata from 12598 // AsyncBatchAnnotateImagesRequest. 12599 OutputConfig *GoogleCloudVisionV1p5beta1OutputConfig `json:"outputConfig,omitempty"` 12600 12601 // ForceSendFields is a list of field names (e.g. "OutputConfig") to 12602 // unconditionally include in API requests. By default, fields with 12603 // empty values are omitted from API requests. However, any non-pointer, 12604 // non-interface field appearing in ForceSendFields will be sent to the 12605 // server regardless of whether the field is empty or not. This may be 12606 // used to include empty fields in Patch requests. 12607 ForceSendFields []string `json:"-"` 12608 12609 // NullFields is a list of field names (e.g. "OutputConfig") to include 12610 // in API requests with the JSON null value. By default, fields with 12611 // empty values are omitted from API requests. However, any field with 12612 // an empty value appearing in NullFields will be sent to the server as 12613 // null. It is an error if a field in this list has a non-empty value. 12614 // This may be used to include null fields in Patch requests. 12615 NullFields []string `json:"-"` 12616} 12617 12618func (s *GoogleCloudVisionV1p5beta1AsyncBatchAnnotateImagesResponse) MarshalJSON() ([]byte, error) { 12619 type NoMethod GoogleCloudVisionV1p5beta1AsyncBatchAnnotateImagesResponse 12620 raw := NoMethod(*s) 12621 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12622} 12623 12624// GoogleCloudVisionV1p5beta1BatchAnnotateFilesResponse: A list of file 12625// annotation responses. 12626type GoogleCloudVisionV1p5beta1BatchAnnotateFilesResponse struct { 12627 // Responses: The list of file annotation responses, each response 12628 // corresponding to each 12629 // AnnotateFileRequest in BatchAnnotateFilesRequest. 12630 Responses []*GoogleCloudVisionV1p5beta1AnnotateFileResponse `json:"responses,omitempty"` 12631 12632 // ForceSendFields is a list of field names (e.g. "Responses") to 12633 // unconditionally include in API requests. By default, fields with 12634 // empty values are omitted from API requests. However, any non-pointer, 12635 // non-interface field appearing in ForceSendFields will be sent to the 12636 // server regardless of whether the field is empty or not. This may be 12637 // used to include empty fields in Patch requests. 12638 ForceSendFields []string `json:"-"` 12639 12640 // NullFields is a list of field names (e.g. "Responses") to include in 12641 // API requests with the JSON null value. By default, fields with empty 12642 // values are omitted from API requests. However, any field with an 12643 // empty value appearing in NullFields will be sent to the server as 12644 // null. It is an error if a field in this list has a non-empty value. 12645 // This may be used to include null fields in Patch requests. 12646 NullFields []string `json:"-"` 12647} 12648 12649func (s *GoogleCloudVisionV1p5beta1BatchAnnotateFilesResponse) MarshalJSON() ([]byte, error) { 12650 type NoMethod GoogleCloudVisionV1p5beta1BatchAnnotateFilesResponse 12651 raw := NoMethod(*s) 12652 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12653} 12654 12655// GoogleCloudVisionV1p5beta1BatchOperationMetadata: Metadata for the 12656// batch operations such as the current state. 12657// 12658// This is included in the `metadata` field of the `Operation` returned 12659// by the 12660// `GetOperation` call of the `google::longrunning::Operations` service. 12661type GoogleCloudVisionV1p5beta1BatchOperationMetadata struct { 12662 // EndTime: The time when the batch request is finished 12663 // and 12664 // google.longrunning.Operation.done is set to true. 12665 EndTime string `json:"endTime,omitempty"` 12666 12667 // State: The current state of the batch operation. 12668 // 12669 // Possible values: 12670 // "STATE_UNSPECIFIED" - Invalid. 12671 // "PROCESSING" - Request is actively being processed. 12672 // "SUCCESSFUL" - The request is done and at least one item has been 12673 // successfully 12674 // processed. 12675 // "FAILED" - The request is done and no item has been successfully 12676 // processed. 12677 // "CANCELLED" - The request is done after the 12678 // longrunning.Operations.CancelOperation has 12679 // been called by the user. Any records that were processed before 12680 // the 12681 // cancel command are output as specified in the request. 12682 State string `json:"state,omitempty"` 12683 12684 // SubmitTime: The time when the batch request was submitted to the 12685 // server. 12686 SubmitTime string `json:"submitTime,omitempty"` 12687 12688 // ForceSendFields is a list of field names (e.g. "EndTime") to 12689 // unconditionally include in API requests. By default, fields with 12690 // empty values are omitted from API requests. However, any non-pointer, 12691 // non-interface field appearing in ForceSendFields will be sent to the 12692 // server regardless of whether the field is empty or not. This may be 12693 // used to include empty fields in Patch requests. 12694 ForceSendFields []string `json:"-"` 12695 12696 // NullFields is a list of field names (e.g. "EndTime") to include in 12697 // API requests with the JSON null value. By default, fields with empty 12698 // values are omitted from API requests. However, any field with an 12699 // empty value appearing in NullFields will be sent to the server as 12700 // null. It is an error if a field in this list has a non-empty value. 12701 // This may be used to include null fields in Patch requests. 12702 NullFields []string `json:"-"` 12703} 12704 12705func (s *GoogleCloudVisionV1p5beta1BatchOperationMetadata) MarshalJSON() ([]byte, error) { 12706 type NoMethod GoogleCloudVisionV1p5beta1BatchOperationMetadata 12707 raw := NoMethod(*s) 12708 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12709} 12710 12711// GoogleCloudVisionV1p5beta1Block: Logical element on the page. 12712type GoogleCloudVisionV1p5beta1Block struct { 12713 // BlockType: Detected block type (text, image etc) for this block. 12714 // 12715 // Possible values: 12716 // "UNKNOWN" - Unknown block type. 12717 // "TEXT" - Regular text block. 12718 // "TABLE" - Table block. 12719 // "PICTURE" - Image block. 12720 // "RULER" - Horizontal/vertical line box. 12721 // "BARCODE" - Barcode block. 12722 // "KEY_VALUE_PAIR" - A key-value pair block. 12723 BlockType string `json:"blockType,omitempty"` 12724 12725 // BoundingBox: The bounding box for the block. 12726 // The vertices are in the order of top-left, top-right, 12727 // bottom-right, 12728 // bottom-left. When a rotation of the bounding box is detected the 12729 // rotation 12730 // is represented as around the top-left corner as defined when the text 12731 // is 12732 // read in the 'natural' orientation. 12733 // For example: 12734 // 12735 // * when the text is horizontal it might look like: 12736 // 12737 // 0----1 12738 // | | 12739 // 3----2 12740 // 12741 // * when it's rotated 180 degrees around the top-left corner it 12742 // becomes: 12743 // 12744 // 2----3 12745 // | | 12746 // 1----0 12747 // 12748 // and the vertex order will still be (0, 1, 2, 3). 12749 BoundingBox *GoogleCloudVisionV1p5beta1BoundingPoly `json:"boundingBox,omitempty"` 12750 12751 // Confidence: Confidence of the OCR results on the block. Range [0, 1]. 12752 Confidence float64 `json:"confidence,omitempty"` 12753 12754 // KeyValuePair: Detected pair for KEY_VALUE_PAIR block_type. This 12755 // detection can be turned 12756 // off by explicitly setting desired fields 12757 // in 12758 // DocumentParsingParams.block_filter. 12759 KeyValuePair *GoogleCloudVisionV1p5beta1KeyValuePair `json:"keyValuePair,omitempty"` 12760 12761 // MergedText: All UTF-8 text detected in this block. This field is by 12762 // default not 12763 // returned unless specified in TextDetectionParams.block_filter 12764 // or 12765 // DocumentParsingParams.block_filter. 12766 MergedText string `json:"mergedText,omitempty"` 12767 12768 // Paragraphs: List of paragraphs in this block (if this blocks is of 12769 // type text). 12770 Paragraphs []*GoogleCloudVisionV1p5beta1Paragraph `json:"paragraphs,omitempty"` 12771 12772 // Property: Additional information detected for the block. 12773 Property *GoogleCloudVisionV1p5beta1TextAnnotationTextProperty `json:"property,omitempty"` 12774 12775 // Table: Detected table for TABLE block_type. This detection can be 12776 // turned off by 12777 // explicitly setting desired fields in 12778 // DocumentParsingParams.block_filter. 12779 Table *GoogleCloudVisionV1p5beta1Table `json:"table,omitempty"` 12780 12781 // ForceSendFields is a list of field names (e.g. "BlockType") to 12782 // unconditionally include in API requests. By default, fields with 12783 // empty values are omitted from API requests. However, any non-pointer, 12784 // non-interface field appearing in ForceSendFields will be sent to the 12785 // server regardless of whether the field is empty or not. This may be 12786 // used to include empty fields in Patch requests. 12787 ForceSendFields []string `json:"-"` 12788 12789 // NullFields is a list of field names (e.g. "BlockType") to include in 12790 // API requests with the JSON null value. By default, fields with empty 12791 // values are omitted from API requests. However, any field with an 12792 // empty value appearing in NullFields will be sent to the server as 12793 // null. It is an error if a field in this list has a non-empty value. 12794 // This may be used to include null fields in Patch requests. 12795 NullFields []string `json:"-"` 12796} 12797 12798func (s *GoogleCloudVisionV1p5beta1Block) MarshalJSON() ([]byte, error) { 12799 type NoMethod GoogleCloudVisionV1p5beta1Block 12800 raw := NoMethod(*s) 12801 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12802} 12803 12804func (s *GoogleCloudVisionV1p5beta1Block) UnmarshalJSON(data []byte) error { 12805 type NoMethod GoogleCloudVisionV1p5beta1Block 12806 var s1 struct { 12807 Confidence gensupport.JSONFloat64 `json:"confidence"` 12808 *NoMethod 12809 } 12810 s1.NoMethod = (*NoMethod)(s) 12811 if err := json.Unmarshal(data, &s1); err != nil { 12812 return err 12813 } 12814 s.Confidence = float64(s1.Confidence) 12815 return nil 12816} 12817 12818// GoogleCloudVisionV1p5beta1BoundingPoly: A bounding polygon for the 12819// detected image annotation. 12820type GoogleCloudVisionV1p5beta1BoundingPoly struct { 12821 // NormalizedVertices: The bounding polygon normalized vertices. 12822 NormalizedVertices []*GoogleCloudVisionV1p5beta1NormalizedVertex `json:"normalizedVertices,omitempty"` 12823 12824 // Vertices: The bounding polygon vertices. 12825 Vertices []*GoogleCloudVisionV1p5beta1Vertex `json:"vertices,omitempty"` 12826 12827 // ForceSendFields is a list of field names (e.g. "NormalizedVertices") 12828 // to unconditionally include in API requests. By default, fields with 12829 // empty values are omitted from API requests. However, any non-pointer, 12830 // non-interface field appearing in ForceSendFields will be sent to the 12831 // server regardless of whether the field is empty or not. This may be 12832 // used to include empty fields in Patch requests. 12833 ForceSendFields []string `json:"-"` 12834 12835 // NullFields is a list of field names (e.g. "NormalizedVertices") to 12836 // include in API requests with the JSON null value. By default, fields 12837 // with empty values are omitted from API requests. However, any field 12838 // with an empty value appearing in NullFields will be sent to the 12839 // server as null. It is an error if a field in this list has a 12840 // non-empty value. This may be used to include null fields in Patch 12841 // requests. 12842 NullFields []string `json:"-"` 12843} 12844 12845func (s *GoogleCloudVisionV1p5beta1BoundingPoly) MarshalJSON() ([]byte, error) { 12846 type NoMethod GoogleCloudVisionV1p5beta1BoundingPoly 12847 raw := NoMethod(*s) 12848 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12849} 12850 12851// GoogleCloudVisionV1p5beta1ColorInfo: Color information consists of 12852// RGB channels, score, and the fraction of 12853// the image that the color occupies in the image. 12854type GoogleCloudVisionV1p5beta1ColorInfo struct { 12855 // Color: RGB components of the color. 12856 Color *Color `json:"color,omitempty"` 12857 12858 // PixelFraction: The fraction of pixels the color occupies in the 12859 // image. 12860 // Value in range [0, 1]. 12861 PixelFraction float64 `json:"pixelFraction,omitempty"` 12862 12863 // Score: Image-specific score for this color. Value in range [0, 1]. 12864 Score float64 `json:"score,omitempty"` 12865 12866 // ForceSendFields is a list of field names (e.g. "Color") to 12867 // unconditionally include in API requests. By default, fields with 12868 // empty values are omitted from API requests. However, any non-pointer, 12869 // non-interface field appearing in ForceSendFields will be sent to the 12870 // server regardless of whether the field is empty or not. This may be 12871 // used to include empty fields in Patch requests. 12872 ForceSendFields []string `json:"-"` 12873 12874 // NullFields is a list of field names (e.g. "Color") to include in API 12875 // requests with the JSON null value. By default, fields with empty 12876 // values are omitted from API requests. However, any field with an 12877 // empty value appearing in NullFields will be sent to the server as 12878 // null. It is an error if a field in this list has a non-empty value. 12879 // This may be used to include null fields in Patch requests. 12880 NullFields []string `json:"-"` 12881} 12882 12883func (s *GoogleCloudVisionV1p5beta1ColorInfo) MarshalJSON() ([]byte, error) { 12884 type NoMethod GoogleCloudVisionV1p5beta1ColorInfo 12885 raw := NoMethod(*s) 12886 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12887} 12888 12889func (s *GoogleCloudVisionV1p5beta1ColorInfo) UnmarshalJSON(data []byte) error { 12890 type NoMethod GoogleCloudVisionV1p5beta1ColorInfo 12891 var s1 struct { 12892 PixelFraction gensupport.JSONFloat64 `json:"pixelFraction"` 12893 Score gensupport.JSONFloat64 `json:"score"` 12894 *NoMethod 12895 } 12896 s1.NoMethod = (*NoMethod)(s) 12897 if err := json.Unmarshal(data, &s1); err != nil { 12898 return err 12899 } 12900 s.PixelFraction = float64(s1.PixelFraction) 12901 s.Score = float64(s1.Score) 12902 return nil 12903} 12904 12905// GoogleCloudVisionV1p5beta1CropHint: Single crop hint that is used to 12906// generate a new crop when serving an image. 12907type GoogleCloudVisionV1p5beta1CropHint struct { 12908 // BoundingPoly: The bounding polygon for the crop region. The 12909 // coordinates of the bounding 12910 // box are in the original image's scale. 12911 BoundingPoly *GoogleCloudVisionV1p5beta1BoundingPoly `json:"boundingPoly,omitempty"` 12912 12913 // Confidence: Confidence of this being a salient region. Range [0, 1]. 12914 Confidence float64 `json:"confidence,omitempty"` 12915 12916 // ImportanceFraction: Fraction of importance of this salient region 12917 // with respect to the original 12918 // image. 12919 ImportanceFraction float64 `json:"importanceFraction,omitempty"` 12920 12921 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 12922 // unconditionally include in API requests. By default, fields with 12923 // empty values are omitted from API requests. However, any non-pointer, 12924 // non-interface field appearing in ForceSendFields will be sent to the 12925 // server regardless of whether the field is empty or not. This may be 12926 // used to include empty fields in Patch requests. 12927 ForceSendFields []string `json:"-"` 12928 12929 // NullFields is a list of field names (e.g. "BoundingPoly") to include 12930 // in API requests with the JSON null value. By default, fields with 12931 // empty values are omitted from API requests. However, any field with 12932 // an empty value appearing in NullFields will be sent to the server as 12933 // null. It is an error if a field in this list has a non-empty value. 12934 // This may be used to include null fields in Patch requests. 12935 NullFields []string `json:"-"` 12936} 12937 12938func (s *GoogleCloudVisionV1p5beta1CropHint) MarshalJSON() ([]byte, error) { 12939 type NoMethod GoogleCloudVisionV1p5beta1CropHint 12940 raw := NoMethod(*s) 12941 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12942} 12943 12944func (s *GoogleCloudVisionV1p5beta1CropHint) UnmarshalJSON(data []byte) error { 12945 type NoMethod GoogleCloudVisionV1p5beta1CropHint 12946 var s1 struct { 12947 Confidence gensupport.JSONFloat64 `json:"confidence"` 12948 ImportanceFraction gensupport.JSONFloat64 `json:"importanceFraction"` 12949 *NoMethod 12950 } 12951 s1.NoMethod = (*NoMethod)(s) 12952 if err := json.Unmarshal(data, &s1); err != nil { 12953 return err 12954 } 12955 s.Confidence = float64(s1.Confidence) 12956 s.ImportanceFraction = float64(s1.ImportanceFraction) 12957 return nil 12958} 12959 12960// GoogleCloudVisionV1p5beta1CropHintsAnnotation: Set of crop hints that 12961// are used to generate new crops when serving images. 12962type GoogleCloudVisionV1p5beta1CropHintsAnnotation struct { 12963 // CropHints: Crop hint results. 12964 CropHints []*GoogleCloudVisionV1p5beta1CropHint `json:"cropHints,omitempty"` 12965 12966 // ForceSendFields is a list of field names (e.g. "CropHints") to 12967 // unconditionally include in API requests. By default, fields with 12968 // empty values are omitted from API requests. However, any non-pointer, 12969 // non-interface field appearing in ForceSendFields will be sent to the 12970 // server regardless of whether the field is empty or not. This may be 12971 // used to include empty fields in Patch requests. 12972 ForceSendFields []string `json:"-"` 12973 12974 // NullFields is a list of field names (e.g. "CropHints") to include in 12975 // API requests with the JSON null value. By default, fields with empty 12976 // values are omitted from API requests. However, any field with an 12977 // empty value appearing in NullFields will be sent to the server as 12978 // null. It is an error if a field in this list has a non-empty value. 12979 // This may be used to include null fields in Patch requests. 12980 NullFields []string `json:"-"` 12981} 12982 12983func (s *GoogleCloudVisionV1p5beta1CropHintsAnnotation) MarshalJSON() ([]byte, error) { 12984 type NoMethod GoogleCloudVisionV1p5beta1CropHintsAnnotation 12985 raw := NoMethod(*s) 12986 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 12987} 12988 12989// GoogleCloudVisionV1p5beta1DominantColorsAnnotation: Set of dominant 12990// colors and their corresponding scores. 12991type GoogleCloudVisionV1p5beta1DominantColorsAnnotation struct { 12992 // Colors: RGB color values with their score and pixel fraction. 12993 Colors []*GoogleCloudVisionV1p5beta1ColorInfo `json:"colors,omitempty"` 12994 12995 // ForceSendFields is a list of field names (e.g. "Colors") to 12996 // unconditionally include in API requests. By default, fields with 12997 // empty values are omitted from API requests. However, any non-pointer, 12998 // non-interface field appearing in ForceSendFields will be sent to the 12999 // server regardless of whether the field is empty or not. This may be 13000 // used to include empty fields in Patch requests. 13001 ForceSendFields []string `json:"-"` 13002 13003 // NullFields is a list of field names (e.g. "Colors") to include in API 13004 // requests with the JSON null value. By default, fields with empty 13005 // values are omitted from API requests. However, any field with an 13006 // empty value appearing in NullFields will be sent to the server as 13007 // null. It is an error if a field in this list has a non-empty value. 13008 // This may be used to include null fields in Patch requests. 13009 NullFields []string `json:"-"` 13010} 13011 13012func (s *GoogleCloudVisionV1p5beta1DominantColorsAnnotation) MarshalJSON() ([]byte, error) { 13013 type NoMethod GoogleCloudVisionV1p5beta1DominantColorsAnnotation 13014 raw := NoMethod(*s) 13015 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13016} 13017 13018// GoogleCloudVisionV1p5beta1EntityAnnotation: Set of detected entity 13019// features. 13020type GoogleCloudVisionV1p5beta1EntityAnnotation struct { 13021 // BoundingPoly: Image region to which this entity belongs. Not 13022 // produced 13023 // for `LABEL_DETECTION` features. 13024 BoundingPoly *GoogleCloudVisionV1p5beta1BoundingPoly `json:"boundingPoly,omitempty"` 13025 13026 // Confidence: **Deprecated. Use `score` instead.** 13027 // The accuracy of the entity detection in an image. 13028 // For example, for an image in which the "Eiffel Tower" entity is 13029 // detected, 13030 // this field represents the confidence that there is a tower in the 13031 // query 13032 // image. Range [0, 1]. 13033 Confidence float64 `json:"confidence,omitempty"` 13034 13035 // Description: Entity textual description, expressed in its `locale` 13036 // language. 13037 Description string `json:"description,omitempty"` 13038 13039 // Locale: The language code for the locale in which the entity 13040 // textual 13041 // `description` is expressed. 13042 Locale string `json:"locale,omitempty"` 13043 13044 // Locations: The location information for the detected entity. 13045 // Multiple 13046 // `LocationInfo` elements can be present because one location 13047 // may 13048 // indicate the location of the scene in the image, and another 13049 // location 13050 // may indicate the location of the place where the image was 13051 // taken. 13052 // Location information is usually present for landmarks. 13053 Locations []*GoogleCloudVisionV1p5beta1LocationInfo `json:"locations,omitempty"` 13054 13055 // Mid: Opaque entity ID. Some IDs may be available in 13056 // [Google Knowledge Graph 13057 // Search 13058 // API](https://developers.google.com/knowledge-graph/). 13059 Mid string `json:"mid,omitempty"` 13060 13061 // Properties: Some entities may have optional user-supplied `Property` 13062 // (name/value) 13063 // fields, such a score or string that qualifies the entity. 13064 Properties []*GoogleCloudVisionV1p5beta1Property `json:"properties,omitempty"` 13065 13066 // Score: Overall score of the result. Range [0, 1]. 13067 Score float64 `json:"score,omitempty"` 13068 13069 // Topicality: The relevancy of the ICA (Image Content Annotation) label 13070 // to the 13071 // image. For example, the relevancy of "tower" is likely higher to an 13072 // image 13073 // containing the detected "Eiffel Tower" than to an image containing 13074 // a 13075 // detected distant towering building, even though the confidence 13076 // that 13077 // there is a tower in each image may be the same. Range [0, 1]. 13078 Topicality float64 `json:"topicality,omitempty"` 13079 13080 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 13081 // unconditionally include in API requests. By default, fields with 13082 // empty values are omitted from API requests. However, any non-pointer, 13083 // non-interface field appearing in ForceSendFields will be sent to the 13084 // server regardless of whether the field is empty or not. This may be 13085 // used to include empty fields in Patch requests. 13086 ForceSendFields []string `json:"-"` 13087 13088 // NullFields is a list of field names (e.g. "BoundingPoly") to include 13089 // in API requests with the JSON null value. By default, fields with 13090 // empty values are omitted from API requests. However, any field with 13091 // an empty value appearing in NullFields will be sent to the server as 13092 // null. It is an error if a field in this list has a non-empty value. 13093 // This may be used to include null fields in Patch requests. 13094 NullFields []string `json:"-"` 13095} 13096 13097func (s *GoogleCloudVisionV1p5beta1EntityAnnotation) MarshalJSON() ([]byte, error) { 13098 type NoMethod GoogleCloudVisionV1p5beta1EntityAnnotation 13099 raw := NoMethod(*s) 13100 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13101} 13102 13103func (s *GoogleCloudVisionV1p5beta1EntityAnnotation) UnmarshalJSON(data []byte) error { 13104 type NoMethod GoogleCloudVisionV1p5beta1EntityAnnotation 13105 var s1 struct { 13106 Confidence gensupport.JSONFloat64 `json:"confidence"` 13107 Score gensupport.JSONFloat64 `json:"score"` 13108 Topicality gensupport.JSONFloat64 `json:"topicality"` 13109 *NoMethod 13110 } 13111 s1.NoMethod = (*NoMethod)(s) 13112 if err := json.Unmarshal(data, &s1); err != nil { 13113 return err 13114 } 13115 s.Confidence = float64(s1.Confidence) 13116 s.Score = float64(s1.Score) 13117 s.Topicality = float64(s1.Topicality) 13118 return nil 13119} 13120 13121// GoogleCloudVisionV1p5beta1FaceAnnotation: A face annotation object 13122// contains the results of face detection. 13123type GoogleCloudVisionV1p5beta1FaceAnnotation struct { 13124 // AngerLikelihood: Anger likelihood. 13125 // 13126 // Possible values: 13127 // "UNKNOWN" - Unknown likelihood. 13128 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 13129 // specified vertical. 13130 // "UNLIKELY" - It is unlikely that the image belongs to the specified 13131 // vertical. 13132 // "POSSIBLE" - It is possible that the image belongs to the specified 13133 // vertical. 13134 // "LIKELY" - It is likely that the image belongs to the specified 13135 // vertical. 13136 // "VERY_LIKELY" - It is very likely that the image belongs to the 13137 // specified vertical. 13138 AngerLikelihood string `json:"angerLikelihood,omitempty"` 13139 13140 // BlurredLikelihood: Blurred likelihood. 13141 // 13142 // Possible values: 13143 // "UNKNOWN" - Unknown likelihood. 13144 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 13145 // specified vertical. 13146 // "UNLIKELY" - It is unlikely that the image belongs to the specified 13147 // vertical. 13148 // "POSSIBLE" - It is possible that the image belongs to the specified 13149 // vertical. 13150 // "LIKELY" - It is likely that the image belongs to the specified 13151 // vertical. 13152 // "VERY_LIKELY" - It is very likely that the image belongs to the 13153 // specified vertical. 13154 BlurredLikelihood string `json:"blurredLikelihood,omitempty"` 13155 13156 // BoundingPoly: The bounding polygon around the face. The coordinates 13157 // of the bounding box 13158 // are in the original image's scale. 13159 // The bounding box is computed to "frame" the face in accordance with 13160 // human 13161 // expectations. It is based on the landmarker results. 13162 // Note that one or more x and/or y coordinates may not be generated in 13163 // the 13164 // `BoundingPoly` (the polygon will be unbounded) if only a partial 13165 // face 13166 // appears in the image to be annotated. 13167 BoundingPoly *GoogleCloudVisionV1p5beta1BoundingPoly `json:"boundingPoly,omitempty"` 13168 13169 // DetectionConfidence: Detection confidence. Range [0, 1]. 13170 DetectionConfidence float64 `json:"detectionConfidence,omitempty"` 13171 13172 // FdBoundingPoly: The `fd_bounding_poly` bounding polygon is tighter 13173 // than the 13174 // `boundingPoly`, and encloses only the skin part of the face. 13175 // Typically, it 13176 // is used to eliminate the face from any image analysis that detects 13177 // the 13178 // "amount of skin" visible in an image. It is not based on 13179 // the 13180 // landmarker results, only on the initial face detection, hence 13181 // the <code>fd</code> (face detection) prefix. 13182 FdBoundingPoly *GoogleCloudVisionV1p5beta1BoundingPoly `json:"fdBoundingPoly,omitempty"` 13183 13184 // HeadwearLikelihood: Headwear likelihood. 13185 // 13186 // Possible values: 13187 // "UNKNOWN" - Unknown likelihood. 13188 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 13189 // specified vertical. 13190 // "UNLIKELY" - It is unlikely that the image belongs to the specified 13191 // vertical. 13192 // "POSSIBLE" - It is possible that the image belongs to the specified 13193 // vertical. 13194 // "LIKELY" - It is likely that the image belongs to the specified 13195 // vertical. 13196 // "VERY_LIKELY" - It is very likely that the image belongs to the 13197 // specified vertical. 13198 HeadwearLikelihood string `json:"headwearLikelihood,omitempty"` 13199 13200 // JoyLikelihood: Joy likelihood. 13201 // 13202 // Possible values: 13203 // "UNKNOWN" - Unknown likelihood. 13204 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 13205 // specified vertical. 13206 // "UNLIKELY" - It is unlikely that the image belongs to the specified 13207 // vertical. 13208 // "POSSIBLE" - It is possible that the image belongs to the specified 13209 // vertical. 13210 // "LIKELY" - It is likely that the image belongs to the specified 13211 // vertical. 13212 // "VERY_LIKELY" - It is very likely that the image belongs to the 13213 // specified vertical. 13214 JoyLikelihood string `json:"joyLikelihood,omitempty"` 13215 13216 // LandmarkingConfidence: Face landmarking confidence. Range [0, 1]. 13217 LandmarkingConfidence float64 `json:"landmarkingConfidence,omitempty"` 13218 13219 // Landmarks: Detected face landmarks. 13220 Landmarks []*GoogleCloudVisionV1p5beta1FaceAnnotationLandmark `json:"landmarks,omitempty"` 13221 13222 // PanAngle: Yaw angle, which indicates the leftward/rightward angle 13223 // that the face is 13224 // pointing relative to the vertical plane perpendicular to the image. 13225 // Range 13226 // [-180,180]. 13227 PanAngle float64 `json:"panAngle,omitempty"` 13228 13229 // RollAngle: Roll angle, which indicates the amount of 13230 // clockwise/anti-clockwise rotation 13231 // of the face relative to the image vertical about the axis 13232 // perpendicular to 13233 // the face. Range [-180,180]. 13234 RollAngle float64 `json:"rollAngle,omitempty"` 13235 13236 // SorrowLikelihood: Sorrow likelihood. 13237 // 13238 // Possible values: 13239 // "UNKNOWN" - Unknown likelihood. 13240 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 13241 // specified vertical. 13242 // "UNLIKELY" - It is unlikely that the image belongs to the specified 13243 // vertical. 13244 // "POSSIBLE" - It is possible that the image belongs to the specified 13245 // vertical. 13246 // "LIKELY" - It is likely that the image belongs to the specified 13247 // vertical. 13248 // "VERY_LIKELY" - It is very likely that the image belongs to the 13249 // specified vertical. 13250 SorrowLikelihood string `json:"sorrowLikelihood,omitempty"` 13251 13252 // SurpriseLikelihood: Surprise likelihood. 13253 // 13254 // Possible values: 13255 // "UNKNOWN" - Unknown likelihood. 13256 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 13257 // specified vertical. 13258 // "UNLIKELY" - It is unlikely that the image belongs to the specified 13259 // vertical. 13260 // "POSSIBLE" - It is possible that the image belongs to the specified 13261 // vertical. 13262 // "LIKELY" - It is likely that the image belongs to the specified 13263 // vertical. 13264 // "VERY_LIKELY" - It is very likely that the image belongs to the 13265 // specified vertical. 13266 SurpriseLikelihood string `json:"surpriseLikelihood,omitempty"` 13267 13268 // TiltAngle: Pitch angle, which indicates the upwards/downwards angle 13269 // that the face is 13270 // pointing relative to the image's horizontal plane. Range [-180,180]. 13271 TiltAngle float64 `json:"tiltAngle,omitempty"` 13272 13273 // UnderExposedLikelihood: Under-exposed likelihood. 13274 // 13275 // Possible values: 13276 // "UNKNOWN" - Unknown likelihood. 13277 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 13278 // specified vertical. 13279 // "UNLIKELY" - It is unlikely that the image belongs to the specified 13280 // vertical. 13281 // "POSSIBLE" - It is possible that the image belongs to the specified 13282 // vertical. 13283 // "LIKELY" - It is likely that the image belongs to the specified 13284 // vertical. 13285 // "VERY_LIKELY" - It is very likely that the image belongs to the 13286 // specified vertical. 13287 UnderExposedLikelihood string `json:"underExposedLikelihood,omitempty"` 13288 13289 // ForceSendFields is a list of field names (e.g. "AngerLikelihood") to 13290 // unconditionally include in API requests. By default, fields with 13291 // empty values are omitted from API requests. However, any non-pointer, 13292 // non-interface field appearing in ForceSendFields will be sent to the 13293 // server regardless of whether the field is empty or not. This may be 13294 // used to include empty fields in Patch requests. 13295 ForceSendFields []string `json:"-"` 13296 13297 // NullFields is a list of field names (e.g. "AngerLikelihood") to 13298 // include in API requests with the JSON null value. By default, fields 13299 // with empty values are omitted from API requests. However, any field 13300 // with an empty value appearing in NullFields will be sent to the 13301 // server as null. It is an error if a field in this list has a 13302 // non-empty value. This may be used to include null fields in Patch 13303 // requests. 13304 NullFields []string `json:"-"` 13305} 13306 13307func (s *GoogleCloudVisionV1p5beta1FaceAnnotation) MarshalJSON() ([]byte, error) { 13308 type NoMethod GoogleCloudVisionV1p5beta1FaceAnnotation 13309 raw := NoMethod(*s) 13310 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13311} 13312 13313func (s *GoogleCloudVisionV1p5beta1FaceAnnotation) UnmarshalJSON(data []byte) error { 13314 type NoMethod GoogleCloudVisionV1p5beta1FaceAnnotation 13315 var s1 struct { 13316 DetectionConfidence gensupport.JSONFloat64 `json:"detectionConfidence"` 13317 LandmarkingConfidence gensupport.JSONFloat64 `json:"landmarkingConfidence"` 13318 PanAngle gensupport.JSONFloat64 `json:"panAngle"` 13319 RollAngle gensupport.JSONFloat64 `json:"rollAngle"` 13320 TiltAngle gensupport.JSONFloat64 `json:"tiltAngle"` 13321 *NoMethod 13322 } 13323 s1.NoMethod = (*NoMethod)(s) 13324 if err := json.Unmarshal(data, &s1); err != nil { 13325 return err 13326 } 13327 s.DetectionConfidence = float64(s1.DetectionConfidence) 13328 s.LandmarkingConfidence = float64(s1.LandmarkingConfidence) 13329 s.PanAngle = float64(s1.PanAngle) 13330 s.RollAngle = float64(s1.RollAngle) 13331 s.TiltAngle = float64(s1.TiltAngle) 13332 return nil 13333} 13334 13335// GoogleCloudVisionV1p5beta1FaceAnnotationLandmark: A face-specific 13336// landmark (for example, a face feature). 13337type GoogleCloudVisionV1p5beta1FaceAnnotationLandmark struct { 13338 // Position: Face landmark position. 13339 Position *GoogleCloudVisionV1p5beta1Position `json:"position,omitempty"` 13340 13341 // Type: Face landmark type. 13342 // 13343 // Possible values: 13344 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 13345 // filled. 13346 // "LEFT_EYE" - Left eye. 13347 // "RIGHT_EYE" - Right eye. 13348 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 13349 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 13350 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 13351 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 13352 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 13353 // "NOSE_TIP" - Nose tip. 13354 // "UPPER_LIP" - Upper lip. 13355 // "LOWER_LIP" - Lower lip. 13356 // "MOUTH_LEFT" - Mouth left. 13357 // "MOUTH_RIGHT" - Mouth right. 13358 // "MOUTH_CENTER" - Mouth center. 13359 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 13360 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 13361 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 13362 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 13363 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 13364 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 13365 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 13366 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 13367 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 13368 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 13369 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 13370 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 13371 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 13372 // "LEFT_EAR_TRAGION" - Left ear tragion. 13373 // "RIGHT_EAR_TRAGION" - Right ear tragion. 13374 // "LEFT_EYE_PUPIL" - Left eye pupil. 13375 // "RIGHT_EYE_PUPIL" - Right eye pupil. 13376 // "FOREHEAD_GLABELLA" - Forehead glabella. 13377 // "CHIN_GNATHION" - Chin gnathion. 13378 // "CHIN_LEFT_GONION" - Chin left gonion. 13379 // "CHIN_RIGHT_GONION" - Chin right gonion. 13380 Type string `json:"type,omitempty"` 13381 13382 // ForceSendFields is a list of field names (e.g. "Position") to 13383 // unconditionally include in API requests. By default, fields with 13384 // empty values are omitted from API requests. However, any non-pointer, 13385 // non-interface field appearing in ForceSendFields will be sent to the 13386 // server regardless of whether the field is empty or not. This may be 13387 // used to include empty fields in Patch requests. 13388 ForceSendFields []string `json:"-"` 13389 13390 // NullFields is a list of field names (e.g. "Position") to include in 13391 // API requests with the JSON null value. By default, fields with empty 13392 // values are omitted from API requests. However, any field with an 13393 // empty value appearing in NullFields will be sent to the server as 13394 // null. It is an error if a field in this list has a non-empty value. 13395 // This may be used to include null fields in Patch requests. 13396 NullFields []string `json:"-"` 13397} 13398 13399func (s *GoogleCloudVisionV1p5beta1FaceAnnotationLandmark) MarshalJSON() ([]byte, error) { 13400 type NoMethod GoogleCloudVisionV1p5beta1FaceAnnotationLandmark 13401 raw := NoMethod(*s) 13402 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13403} 13404 13405// GoogleCloudVisionV1p5beta1GcsDestination: The Google Cloud Storage 13406// location where the output will be written to. 13407type GoogleCloudVisionV1p5beta1GcsDestination struct { 13408 // Uri: Google Cloud Storage URI prefix where the results will be 13409 // stored. Results 13410 // will be in JSON format and preceded by its corresponding input URI 13411 // prefix. 13412 // This field can either represent a gcs file prefix or gcs directory. 13413 // In 13414 // either case, the uri should be unique because in order to get all of 13415 // the 13416 // output files, you will need to do a wildcard gcs search on the uri 13417 // prefix 13418 // you provide. 13419 // 13420 // Examples: 13421 // 13422 // * File Prefix: gs://bucket-name/here/filenameprefix The output 13423 // files 13424 // will be created in gs://bucket-name/here/ and the names of the 13425 // output files will begin with "filenameprefix". 13426 // 13427 // * Directory Prefix: gs://bucket-name/some/location/ The output 13428 // files 13429 // will be created in gs://bucket-name/some/location/ and the names of 13430 // the 13431 // output files could be anything because there was no filename 13432 // prefix 13433 // specified. 13434 // 13435 // If multiple outputs, each response is still AnnotateFileResponse, 13436 // each of 13437 // which contains some subset of the full list of 13438 // AnnotateImageResponse. 13439 // Multiple outputs can happen if, for example, the output JSON is too 13440 // large 13441 // and overflows into multiple sharded files. 13442 Uri string `json:"uri,omitempty"` 13443 13444 // ForceSendFields is a list of field names (e.g. "Uri") to 13445 // unconditionally include in API requests. By default, fields with 13446 // empty values are omitted from API requests. However, any non-pointer, 13447 // non-interface field appearing in ForceSendFields will be sent to the 13448 // server regardless of whether the field is empty or not. This may be 13449 // used to include empty fields in Patch requests. 13450 ForceSendFields []string `json:"-"` 13451 13452 // NullFields is a list of field names (e.g. "Uri") to include in API 13453 // requests with the JSON null value. By default, fields with empty 13454 // values are omitted from API requests. However, any field with an 13455 // empty value appearing in NullFields will be sent to the server as 13456 // null. It is an error if a field in this list has a non-empty value. 13457 // This may be used to include null fields in Patch requests. 13458 NullFields []string `json:"-"` 13459} 13460 13461func (s *GoogleCloudVisionV1p5beta1GcsDestination) MarshalJSON() ([]byte, error) { 13462 type NoMethod GoogleCloudVisionV1p5beta1GcsDestination 13463 raw := NoMethod(*s) 13464 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13465} 13466 13467// GoogleCloudVisionV1p5beta1GcsSource: The Google Cloud Storage 13468// location where the input will be read from. 13469type GoogleCloudVisionV1p5beta1GcsSource struct { 13470 // Uri: Google Cloud Storage URI for the input file. This must only be 13471 // a 13472 // Google Cloud Storage object. Wildcards are not currently supported. 13473 Uri string `json:"uri,omitempty"` 13474 13475 // ForceSendFields is a list of field names (e.g. "Uri") to 13476 // unconditionally include in API requests. By default, fields with 13477 // empty values are omitted from API requests. However, any non-pointer, 13478 // non-interface field appearing in ForceSendFields will be sent to the 13479 // server regardless of whether the field is empty or not. This may be 13480 // used to include empty fields in Patch requests. 13481 ForceSendFields []string `json:"-"` 13482 13483 // NullFields is a list of field names (e.g. "Uri") to include in API 13484 // requests with the JSON null value. By default, fields with empty 13485 // values are omitted from API requests. However, any field with an 13486 // empty value appearing in NullFields will be sent to the server as 13487 // null. It is an error if a field in this list has a non-empty value. 13488 // This may be used to include null fields in Patch requests. 13489 NullFields []string `json:"-"` 13490} 13491 13492func (s *GoogleCloudVisionV1p5beta1GcsSource) MarshalJSON() ([]byte, error) { 13493 type NoMethod GoogleCloudVisionV1p5beta1GcsSource 13494 raw := NoMethod(*s) 13495 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13496} 13497 13498// GoogleCloudVisionV1p5beta1ImageAnnotationContext: If an image was 13499// produced from a file (e.g. a PDF), this message gives 13500// information about the source of that image. 13501type GoogleCloudVisionV1p5beta1ImageAnnotationContext struct { 13502 // PageNumber: If the file was a PDF or TIFF, this field gives the page 13503 // number within 13504 // the file used to produce the image. 13505 PageNumber int64 `json:"pageNumber,omitempty"` 13506 13507 // Uri: The URI of the file used to produce the image. 13508 Uri string `json:"uri,omitempty"` 13509 13510 // ForceSendFields is a list of field names (e.g. "PageNumber") to 13511 // unconditionally include in API requests. By default, fields with 13512 // empty values are omitted from API requests. However, any non-pointer, 13513 // non-interface field appearing in ForceSendFields will be sent to the 13514 // server regardless of whether the field is empty or not. This may be 13515 // used to include empty fields in Patch requests. 13516 ForceSendFields []string `json:"-"` 13517 13518 // NullFields is a list of field names (e.g. "PageNumber") to include in 13519 // API requests with the JSON null value. By default, fields with empty 13520 // values are omitted from API requests. However, any field with an 13521 // empty value appearing in NullFields will be sent to the server as 13522 // null. It is an error if a field in this list has a non-empty value. 13523 // This may be used to include null fields in Patch requests. 13524 NullFields []string `json:"-"` 13525} 13526 13527func (s *GoogleCloudVisionV1p5beta1ImageAnnotationContext) MarshalJSON() ([]byte, error) { 13528 type NoMethod GoogleCloudVisionV1p5beta1ImageAnnotationContext 13529 raw := NoMethod(*s) 13530 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13531} 13532 13533// GoogleCloudVisionV1p5beta1ImageProperties: Stores image properties, 13534// such as dominant colors. 13535type GoogleCloudVisionV1p5beta1ImageProperties struct { 13536 // DominantColors: If present, dominant colors completed successfully. 13537 DominantColors *GoogleCloudVisionV1p5beta1DominantColorsAnnotation `json:"dominantColors,omitempty"` 13538 13539 // ForceSendFields is a list of field names (e.g. "DominantColors") to 13540 // unconditionally include in API requests. By default, fields with 13541 // empty values are omitted from API requests. However, any non-pointer, 13542 // non-interface field appearing in ForceSendFields will be sent to the 13543 // server regardless of whether the field is empty or not. This may be 13544 // used to include empty fields in Patch requests. 13545 ForceSendFields []string `json:"-"` 13546 13547 // NullFields is a list of field names (e.g. "DominantColors") to 13548 // include in API requests with the JSON null value. By default, fields 13549 // with empty values are omitted from API requests. However, any field 13550 // with an empty value appearing in NullFields will be sent to the 13551 // server as null. It is an error if a field in this list has a 13552 // non-empty value. This may be used to include null fields in Patch 13553 // requests. 13554 NullFields []string `json:"-"` 13555} 13556 13557func (s *GoogleCloudVisionV1p5beta1ImageProperties) MarshalJSON() ([]byte, error) { 13558 type NoMethod GoogleCloudVisionV1p5beta1ImageProperties 13559 raw := NoMethod(*s) 13560 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13561} 13562 13563// GoogleCloudVisionV1p5beta1ImportProductSetsResponse: Response message 13564// for the `ImportProductSets` method. 13565// 13566// This message is returned by 13567// the 13568// google.longrunning.Operations.GetOperation method in the 13569// returned 13570// google.longrunning.Operation.response field. 13571type GoogleCloudVisionV1p5beta1ImportProductSetsResponse struct { 13572 // ReferenceImages: The list of reference_images that are imported 13573 // successfully. 13574 ReferenceImages []*GoogleCloudVisionV1p5beta1ReferenceImage `json:"referenceImages,omitempty"` 13575 13576 // Statuses: The rpc status for each ImportProductSet request, including 13577 // both successes 13578 // and errors. 13579 // 13580 // The number of statuses here matches the number of lines in the csv 13581 // file, 13582 // and statuses[i] stores the success or failure status of processing 13583 // the i-th 13584 // line of the csv, starting from line 0. 13585 Statuses []*Status `json:"statuses,omitempty"` 13586 13587 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 13588 // unconditionally include in API requests. By default, fields with 13589 // empty values are omitted from API requests. However, any non-pointer, 13590 // non-interface field appearing in ForceSendFields will be sent to the 13591 // server regardless of whether the field is empty or not. This may be 13592 // used to include empty fields in Patch requests. 13593 ForceSendFields []string `json:"-"` 13594 13595 // NullFields is a list of field names (e.g. "ReferenceImages") to 13596 // include in API requests with the JSON null value. By default, fields 13597 // with empty values are omitted from API requests. However, any field 13598 // with an empty value appearing in NullFields will be sent to the 13599 // server as null. It is an error if a field in this list has a 13600 // non-empty value. This may be used to include null fields in Patch 13601 // requests. 13602 NullFields []string `json:"-"` 13603} 13604 13605func (s *GoogleCloudVisionV1p5beta1ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 13606 type NoMethod GoogleCloudVisionV1p5beta1ImportProductSetsResponse 13607 raw := NoMethod(*s) 13608 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13609} 13610 13611// GoogleCloudVisionV1p5beta1InputConfig: The desired input location and 13612// metadata. 13613type GoogleCloudVisionV1p5beta1InputConfig struct { 13614 // Content: File content, represented as a stream of bytes. 13615 // Note: As with all `bytes` fields, protobuffers use a pure 13616 // binary 13617 // representation, whereas JSON representations use base64. 13618 // 13619 // Currently, this field only works for BatchAnnotateFiles requests. It 13620 // does 13621 // not work for AsyncBatchAnnotateFiles requests. 13622 Content string `json:"content,omitempty"` 13623 13624 // GcsSource: The Google Cloud Storage location to read the input from. 13625 GcsSource *GoogleCloudVisionV1p5beta1GcsSource `json:"gcsSource,omitempty"` 13626 13627 // MimeType: The type of the file. Currently only "application/pdf", 13628 // "image/tiff" and 13629 // "image/gif" are supported. Wildcards are not supported. 13630 MimeType string `json:"mimeType,omitempty"` 13631 13632 // ForceSendFields is a list of field names (e.g. "Content") to 13633 // unconditionally include in API requests. By default, fields with 13634 // empty values are omitted from API requests. However, any non-pointer, 13635 // non-interface field appearing in ForceSendFields will be sent to the 13636 // server regardless of whether the field is empty or not. This may be 13637 // used to include empty fields in Patch requests. 13638 ForceSendFields []string `json:"-"` 13639 13640 // NullFields is a list of field names (e.g. "Content") to include in 13641 // API requests with the JSON null value. By default, fields with empty 13642 // values are omitted from API requests. However, any field with an 13643 // empty value appearing in NullFields will be sent to the server as 13644 // null. It is an error if a field in this list has a non-empty value. 13645 // This may be used to include null fields in Patch requests. 13646 NullFields []string `json:"-"` 13647} 13648 13649func (s *GoogleCloudVisionV1p5beta1InputConfig) MarshalJSON() ([]byte, error) { 13650 type NoMethod GoogleCloudVisionV1p5beta1InputConfig 13651 raw := NoMethod(*s) 13652 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13653} 13654 13655// GoogleCloudVisionV1p5beta1KeyValuePair: Proto for a key value pair. 13656type GoogleCloudVisionV1p5beta1KeyValuePair struct { 13657 // Key: The key string value. 13658 Key string `json:"key,omitempty"` 13659 13660 // KeyBlock: Key block of the pair containing the normalized bounding 13661 // box and key text. 13662 KeyBlock *GoogleCloudVisionV1p5beta1Block `json:"keyBlock,omitempty"` 13663 13664 // NormalizedKey: Optional. The translation of key text if the text is 13665 // not in English. 13666 NormalizedKey string `json:"normalizedKey,omitempty"` 13667 13668 // ValueBlock: Value block of the pair containing the normalized 13669 // bounding box and value 13670 // text, including potentially deeper structures within the value text. 13671 ValueBlock *GoogleCloudVisionV1p5beta1Block `json:"valueBlock,omitempty"` 13672 13673 // ValueType: Type of the value. Valid strings are the following: 13674 // 13675 // "generic" - For generic text that is mapped to a value. 13676 // "number" - for numeric types 13677 // "id" - for generic identifiers. 13678 // "currency" - for currency values. 13679 // "date" - for dates. 13680 // "time" - for time and duration values. 13681 // "date_range" - for date ranges. 13682 // "address" - for address values (can be long). 13683 // "person" - for names of people or other personal identifiers. 13684 // "phone" - for phone numbers. 13685 ValueType string `json:"valueType,omitempty"` 13686 13687 // ForceSendFields is a list of field names (e.g. "Key") to 13688 // unconditionally include in API requests. By default, fields with 13689 // empty values are omitted from API requests. However, any non-pointer, 13690 // non-interface field appearing in ForceSendFields will be sent to the 13691 // server regardless of whether the field is empty or not. This may be 13692 // used to include empty fields in Patch requests. 13693 ForceSendFields []string `json:"-"` 13694 13695 // NullFields is a list of field names (e.g. "Key") to include in API 13696 // requests with the JSON null value. By default, fields with empty 13697 // values are omitted from API requests. However, any field with an 13698 // empty value appearing in NullFields will be sent to the server as 13699 // null. It is an error if a field in this list has a non-empty value. 13700 // This may be used to include null fields in Patch requests. 13701 NullFields []string `json:"-"` 13702} 13703 13704func (s *GoogleCloudVisionV1p5beta1KeyValuePair) MarshalJSON() ([]byte, error) { 13705 type NoMethod GoogleCloudVisionV1p5beta1KeyValuePair 13706 raw := NoMethod(*s) 13707 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13708} 13709 13710// GoogleCloudVisionV1p5beta1LocalizedObjectAnnotation: Set of detected 13711// objects with bounding boxes. 13712type GoogleCloudVisionV1p5beta1LocalizedObjectAnnotation struct { 13713 // BoundingPoly: Image region to which this object belongs. This must be 13714 // populated. 13715 BoundingPoly *GoogleCloudVisionV1p5beta1BoundingPoly `json:"boundingPoly,omitempty"` 13716 13717 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 13718 // For more 13719 // information, 13720 // see 13721 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 13722 LanguageCode string `json:"languageCode,omitempty"` 13723 13724 // Mid: Object ID that should align with EntityAnnotation mid. 13725 Mid string `json:"mid,omitempty"` 13726 13727 // Name: Object name, expressed in its `language_code` language. 13728 Name string `json:"name,omitempty"` 13729 13730 // Score: Score of the result. Range [0, 1]. 13731 Score float64 `json:"score,omitempty"` 13732 13733 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 13734 // unconditionally include in API requests. By default, fields with 13735 // empty values are omitted from API requests. However, any non-pointer, 13736 // non-interface field appearing in ForceSendFields will be sent to the 13737 // server regardless of whether the field is empty or not. This may be 13738 // used to include empty fields in Patch requests. 13739 ForceSendFields []string `json:"-"` 13740 13741 // NullFields is a list of field names (e.g. "BoundingPoly") to include 13742 // in API requests with the JSON null value. By default, fields with 13743 // empty values are omitted from API requests. However, any field with 13744 // an empty value appearing in NullFields will be sent to the server as 13745 // null. It is an error if a field in this list has a non-empty value. 13746 // This may be used to include null fields in Patch requests. 13747 NullFields []string `json:"-"` 13748} 13749 13750func (s *GoogleCloudVisionV1p5beta1LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 13751 type NoMethod GoogleCloudVisionV1p5beta1LocalizedObjectAnnotation 13752 raw := NoMethod(*s) 13753 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13754} 13755 13756func (s *GoogleCloudVisionV1p5beta1LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 13757 type NoMethod GoogleCloudVisionV1p5beta1LocalizedObjectAnnotation 13758 var s1 struct { 13759 Score gensupport.JSONFloat64 `json:"score"` 13760 *NoMethod 13761 } 13762 s1.NoMethod = (*NoMethod)(s) 13763 if err := json.Unmarshal(data, &s1); err != nil { 13764 return err 13765 } 13766 s.Score = float64(s1.Score) 13767 return nil 13768} 13769 13770// GoogleCloudVisionV1p5beta1LocationInfo: Detected entity location 13771// information. 13772type GoogleCloudVisionV1p5beta1LocationInfo struct { 13773 // LatLng: lat/long location coordinates. 13774 LatLng *LatLng `json:"latLng,omitempty"` 13775 13776 // ForceSendFields is a list of field names (e.g. "LatLng") to 13777 // unconditionally include in API requests. By default, fields with 13778 // empty values are omitted from API requests. However, any non-pointer, 13779 // non-interface field appearing in ForceSendFields will be sent to the 13780 // server regardless of whether the field is empty or not. This may be 13781 // used to include empty fields in Patch requests. 13782 ForceSendFields []string `json:"-"` 13783 13784 // NullFields is a list of field names (e.g. "LatLng") to include in API 13785 // requests with the JSON null value. By default, fields with empty 13786 // values are omitted from API requests. However, any field with an 13787 // empty value appearing in NullFields will be sent to the server as 13788 // null. It is an error if a field in this list has a non-empty value. 13789 // This may be used to include null fields in Patch requests. 13790 NullFields []string `json:"-"` 13791} 13792 13793func (s *GoogleCloudVisionV1p5beta1LocationInfo) MarshalJSON() ([]byte, error) { 13794 type NoMethod GoogleCloudVisionV1p5beta1LocationInfo 13795 raw := NoMethod(*s) 13796 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13797} 13798 13799// GoogleCloudVisionV1p5beta1NormalizedVertex: A vertex represents a 2D 13800// point in the image. 13801// NOTE: the normalized vertex coordinates are relative to the original 13802// image 13803// and range from 0 to 1. 13804type GoogleCloudVisionV1p5beta1NormalizedVertex struct { 13805 // X: X coordinate. 13806 X float64 `json:"x,omitempty"` 13807 13808 // Y: Y coordinate. 13809 Y float64 `json:"y,omitempty"` 13810 13811 // ForceSendFields is a list of field names (e.g. "X") to 13812 // unconditionally include in API requests. By default, fields with 13813 // empty values are omitted from API requests. However, any non-pointer, 13814 // non-interface field appearing in ForceSendFields will be sent to the 13815 // server regardless of whether the field is empty or not. This may be 13816 // used to include empty fields in Patch requests. 13817 ForceSendFields []string `json:"-"` 13818 13819 // NullFields is a list of field names (e.g. "X") to include in API 13820 // requests with the JSON null value. By default, fields with empty 13821 // values are omitted from API requests. However, any field with an 13822 // empty value appearing in NullFields will be sent to the server as 13823 // null. It is an error if a field in this list has a non-empty value. 13824 // This may be used to include null fields in Patch requests. 13825 NullFields []string `json:"-"` 13826} 13827 13828func (s *GoogleCloudVisionV1p5beta1NormalizedVertex) MarshalJSON() ([]byte, error) { 13829 type NoMethod GoogleCloudVisionV1p5beta1NormalizedVertex 13830 raw := NoMethod(*s) 13831 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13832} 13833 13834func (s *GoogleCloudVisionV1p5beta1NormalizedVertex) UnmarshalJSON(data []byte) error { 13835 type NoMethod GoogleCloudVisionV1p5beta1NormalizedVertex 13836 var s1 struct { 13837 X gensupport.JSONFloat64 `json:"x"` 13838 Y gensupport.JSONFloat64 `json:"y"` 13839 *NoMethod 13840 } 13841 s1.NoMethod = (*NoMethod)(s) 13842 if err := json.Unmarshal(data, &s1); err != nil { 13843 return err 13844 } 13845 s.X = float64(s1.X) 13846 s.Y = float64(s1.Y) 13847 return nil 13848} 13849 13850// GoogleCloudVisionV1p5beta1OperationMetadata: Contains metadata for 13851// the BatchAnnotateImages operation. 13852type GoogleCloudVisionV1p5beta1OperationMetadata struct { 13853 // CreateTime: The time when the batch request was received. 13854 CreateTime string `json:"createTime,omitempty"` 13855 13856 // State: Current state of the batch operation. 13857 // 13858 // Possible values: 13859 // "STATE_UNSPECIFIED" - Invalid. 13860 // "CREATED" - Request is received. 13861 // "RUNNING" - Request is actively being processed. 13862 // "DONE" - The batch processing is done. 13863 // "CANCELLED" - The batch processing was cancelled. 13864 State string `json:"state,omitempty"` 13865 13866 // UpdateTime: The time when the operation result was last updated. 13867 UpdateTime string `json:"updateTime,omitempty"` 13868 13869 // ForceSendFields is a list of field names (e.g. "CreateTime") to 13870 // unconditionally include in API requests. By default, fields with 13871 // empty values are omitted from API requests. However, any non-pointer, 13872 // non-interface field appearing in ForceSendFields will be sent to the 13873 // server regardless of whether the field is empty or not. This may be 13874 // used to include empty fields in Patch requests. 13875 ForceSendFields []string `json:"-"` 13876 13877 // NullFields is a list of field names (e.g. "CreateTime") to include in 13878 // API requests with the JSON null value. By default, fields with empty 13879 // values are omitted from API requests. However, any field with an 13880 // empty value appearing in NullFields will be sent to the server as 13881 // null. It is an error if a field in this list has a non-empty value. 13882 // This may be used to include null fields in Patch requests. 13883 NullFields []string `json:"-"` 13884} 13885 13886func (s *GoogleCloudVisionV1p5beta1OperationMetadata) MarshalJSON() ([]byte, error) { 13887 type NoMethod GoogleCloudVisionV1p5beta1OperationMetadata 13888 raw := NoMethod(*s) 13889 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13890} 13891 13892// GoogleCloudVisionV1p5beta1OutputConfig: The desired output location 13893// and metadata. 13894type GoogleCloudVisionV1p5beta1OutputConfig struct { 13895 // BatchSize: The max number of response protos to put into each output 13896 // JSON file on 13897 // Google Cloud Storage. 13898 // The valid range is [1, 100]. If not specified, the default value is 13899 // 20. 13900 // 13901 // For example, for one pdf file with 100 pages, 100 response protos 13902 // will 13903 // be generated. If `batch_size` = 20, then 5 json files each 13904 // containing 20 response protos will be written under the 13905 // prefix 13906 // `gcs_destination`.`uri`. 13907 // 13908 // Currently, batch_size only applies to GcsDestination, with potential 13909 // future 13910 // support for other output configurations. 13911 BatchSize int64 `json:"batchSize,omitempty"` 13912 13913 // GcsDestination: The Google Cloud Storage location to write the 13914 // output(s) to. 13915 GcsDestination *GoogleCloudVisionV1p5beta1GcsDestination `json:"gcsDestination,omitempty"` 13916 13917 // ForceSendFields is a list of field names (e.g. "BatchSize") to 13918 // unconditionally include in API requests. By default, fields with 13919 // empty values are omitted from API requests. However, any non-pointer, 13920 // non-interface field appearing in ForceSendFields will be sent to the 13921 // server regardless of whether the field is empty or not. This may be 13922 // used to include empty fields in Patch requests. 13923 ForceSendFields []string `json:"-"` 13924 13925 // NullFields is a list of field names (e.g. "BatchSize") to include in 13926 // API requests with the JSON null value. By default, fields with empty 13927 // values are omitted from API requests. However, any field with an 13928 // empty value appearing in NullFields will be sent to the server as 13929 // null. It is an error if a field in this list has a non-empty value. 13930 // This may be used to include null fields in Patch requests. 13931 NullFields []string `json:"-"` 13932} 13933 13934func (s *GoogleCloudVisionV1p5beta1OutputConfig) MarshalJSON() ([]byte, error) { 13935 type NoMethod GoogleCloudVisionV1p5beta1OutputConfig 13936 raw := NoMethod(*s) 13937 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13938} 13939 13940// GoogleCloudVisionV1p5beta1Page: Detected page from OCR. 13941type GoogleCloudVisionV1p5beta1Page struct { 13942 // Blocks: List of blocks of text, images etc on this page. 13943 Blocks []*GoogleCloudVisionV1p5beta1Block `json:"blocks,omitempty"` 13944 13945 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 13946 Confidence float64 `json:"confidence,omitempty"` 13947 13948 // Height: Page height. For PDFs the unit is points. For images 13949 // (including 13950 // TIFFs) the unit is pixels. 13951 Height int64 `json:"height,omitempty"` 13952 13953 // MergedText: All UTF-8 text detected in this page. This field is by 13954 // default not 13955 // returned unless specified in TextDetectionParams.page_filter. 13956 MergedText string `json:"mergedText,omitempty"` 13957 13958 // Property: Additional information detected on the page. 13959 Property *GoogleCloudVisionV1p5beta1TextAnnotationTextProperty `json:"property,omitempty"` 13960 13961 // Width: Page width. For PDFs the unit is points. For images 13962 // (including 13963 // TIFFs) the unit is pixels. 13964 Width int64 `json:"width,omitempty"` 13965 13966 // ForceSendFields is a list of field names (e.g. "Blocks") to 13967 // unconditionally include in API requests. By default, fields with 13968 // empty values are omitted from API requests. However, any non-pointer, 13969 // non-interface field appearing in ForceSendFields will be sent to the 13970 // server regardless of whether the field is empty or not. This may be 13971 // used to include empty fields in Patch requests. 13972 ForceSendFields []string `json:"-"` 13973 13974 // NullFields is a list of field names (e.g. "Blocks") to include in API 13975 // requests with the JSON null value. By default, fields with empty 13976 // values are omitted from API requests. However, any field with an 13977 // empty value appearing in NullFields will be sent to the server as 13978 // null. It is an error if a field in this list has a non-empty value. 13979 // This may be used to include null fields in Patch requests. 13980 NullFields []string `json:"-"` 13981} 13982 13983func (s *GoogleCloudVisionV1p5beta1Page) MarshalJSON() ([]byte, error) { 13984 type NoMethod GoogleCloudVisionV1p5beta1Page 13985 raw := NoMethod(*s) 13986 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 13987} 13988 13989func (s *GoogleCloudVisionV1p5beta1Page) UnmarshalJSON(data []byte) error { 13990 type NoMethod GoogleCloudVisionV1p5beta1Page 13991 var s1 struct { 13992 Confidence gensupport.JSONFloat64 `json:"confidence"` 13993 *NoMethod 13994 } 13995 s1.NoMethod = (*NoMethod)(s) 13996 if err := json.Unmarshal(data, &s1); err != nil { 13997 return err 13998 } 13999 s.Confidence = float64(s1.Confidence) 14000 return nil 14001} 14002 14003// GoogleCloudVisionV1p5beta1Paragraph: Structural unit of text 14004// representing a number of words in certain order. 14005type GoogleCloudVisionV1p5beta1Paragraph struct { 14006 // BoundingBox: The bounding box for the paragraph. 14007 // The vertices are in the order of top-left, top-right, 14008 // bottom-right, 14009 // bottom-left. When a rotation of the bounding box is detected the 14010 // rotation 14011 // is represented as around the top-left corner as defined when the text 14012 // is 14013 // read in the 'natural' orientation. 14014 // For example: 14015 // * when the text is horizontal it might look like: 14016 // 0----1 14017 // | | 14018 // 3----2 14019 // * when it's rotated 180 degrees around the top-left corner it 14020 // becomes: 14021 // 2----3 14022 // | | 14023 // 1----0 14024 // and the vertex order will still be (0, 1, 2, 3). 14025 BoundingBox *GoogleCloudVisionV1p5beta1BoundingPoly `json:"boundingBox,omitempty"` 14026 14027 // Confidence: Confidence of the OCR results for the paragraph. Range 14028 // [0, 1]. 14029 Confidence float64 `json:"confidence,omitempty"` 14030 14031 // MergedText: All UTF-8 text detected in this paragraph. This field is 14032 // by default not 14033 // returned unless specified in 14034 // TextDetectionParams.paragraph_filter. 14035 MergedText string `json:"mergedText,omitempty"` 14036 14037 // Property: Additional information detected for the paragraph. 14038 Property *GoogleCloudVisionV1p5beta1TextAnnotationTextProperty `json:"property,omitempty"` 14039 14040 // Words: List of words in this paragraph. 14041 Words []*GoogleCloudVisionV1p5beta1Word `json:"words,omitempty"` 14042 14043 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 14044 // unconditionally include in API requests. By default, fields with 14045 // empty values are omitted from API requests. However, any non-pointer, 14046 // non-interface field appearing in ForceSendFields will be sent to the 14047 // server regardless of whether the field is empty or not. This may be 14048 // used to include empty fields in Patch requests. 14049 ForceSendFields []string `json:"-"` 14050 14051 // NullFields is a list of field names (e.g. "BoundingBox") to include 14052 // in API requests with the JSON null value. By default, fields with 14053 // empty values are omitted from API requests. However, any field with 14054 // an empty value appearing in NullFields will be sent to the server as 14055 // null. It is an error if a field in this list has a non-empty value. 14056 // This may be used to include null fields in Patch requests. 14057 NullFields []string `json:"-"` 14058} 14059 14060func (s *GoogleCloudVisionV1p5beta1Paragraph) MarshalJSON() ([]byte, error) { 14061 type NoMethod GoogleCloudVisionV1p5beta1Paragraph 14062 raw := NoMethod(*s) 14063 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14064} 14065 14066func (s *GoogleCloudVisionV1p5beta1Paragraph) UnmarshalJSON(data []byte) error { 14067 type NoMethod GoogleCloudVisionV1p5beta1Paragraph 14068 var s1 struct { 14069 Confidence gensupport.JSONFloat64 `json:"confidence"` 14070 *NoMethod 14071 } 14072 s1.NoMethod = (*NoMethod)(s) 14073 if err := json.Unmarshal(data, &s1); err != nil { 14074 return err 14075 } 14076 s.Confidence = float64(s1.Confidence) 14077 return nil 14078} 14079 14080// GoogleCloudVisionV1p5beta1Position: A 3D position in the image, used 14081// primarily for Face detection landmarks. 14082// A valid Position must have both x and y coordinates. 14083// The position coordinates are in the same scale as the original image. 14084type GoogleCloudVisionV1p5beta1Position struct { 14085 // X: X coordinate. 14086 X float64 `json:"x,omitempty"` 14087 14088 // Y: Y coordinate. 14089 Y float64 `json:"y,omitempty"` 14090 14091 // Z: Z coordinate (or depth). 14092 Z float64 `json:"z,omitempty"` 14093 14094 // ForceSendFields is a list of field names (e.g. "X") to 14095 // unconditionally include in API requests. By default, fields with 14096 // empty values are omitted from API requests. However, any non-pointer, 14097 // non-interface field appearing in ForceSendFields will be sent to the 14098 // server regardless of whether the field is empty or not. This may be 14099 // used to include empty fields in Patch requests. 14100 ForceSendFields []string `json:"-"` 14101 14102 // NullFields is a list of field names (e.g. "X") to include in API 14103 // requests with the JSON null value. By default, fields with empty 14104 // values are omitted from API requests. However, any field with an 14105 // empty value appearing in NullFields will be sent to the server as 14106 // null. It is an error if a field in this list has a non-empty value. 14107 // This may be used to include null fields in Patch requests. 14108 NullFields []string `json:"-"` 14109} 14110 14111func (s *GoogleCloudVisionV1p5beta1Position) MarshalJSON() ([]byte, error) { 14112 type NoMethod GoogleCloudVisionV1p5beta1Position 14113 raw := NoMethod(*s) 14114 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14115} 14116 14117func (s *GoogleCloudVisionV1p5beta1Position) UnmarshalJSON(data []byte) error { 14118 type NoMethod GoogleCloudVisionV1p5beta1Position 14119 var s1 struct { 14120 X gensupport.JSONFloat64 `json:"x"` 14121 Y gensupport.JSONFloat64 `json:"y"` 14122 Z gensupport.JSONFloat64 `json:"z"` 14123 *NoMethod 14124 } 14125 s1.NoMethod = (*NoMethod)(s) 14126 if err := json.Unmarshal(data, &s1); err != nil { 14127 return err 14128 } 14129 s.X = float64(s1.X) 14130 s.Y = float64(s1.Y) 14131 s.Z = float64(s1.Z) 14132 return nil 14133} 14134 14135// GoogleCloudVisionV1p5beta1Product: A Product contains 14136// ReferenceImages. 14137type GoogleCloudVisionV1p5beta1Product struct { 14138 // Description: User-provided metadata to be stored with this product. 14139 // Must be at most 4096 14140 // characters long. 14141 Description string `json:"description,omitempty"` 14142 14143 // DisplayName: The user-provided name for this Product. Must not be 14144 // empty. Must be at most 14145 // 4096 characters long. 14146 DisplayName string `json:"displayName,omitempty"` 14147 14148 // Name: The resource name of the product. 14149 // 14150 // Format 14151 // is: 14152 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 14153 // 14154 // This field is ignored when creating a product. 14155 Name string `json:"name,omitempty"` 14156 14157 // ProductCategory: The category for the product identified by the 14158 // reference image. This should 14159 // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy 14160 // categories 14161 // "homegoods", "apparel", and "toys" are still supported, but these 14162 // should 14163 // not be used for new products. 14164 // 14165 // This field is immutable. 14166 ProductCategory string `json:"productCategory,omitempty"` 14167 14168 // ProductLabels: Key-value pairs that can be attached to a product. At 14169 // query time, 14170 // constraints can be specified based on the product_labels. 14171 // 14172 // Note that integer values can be provided as strings, e.g. "1199". 14173 // Only 14174 // strings with integer values can match a range-based restriction which 14175 // is 14176 // to be supported soon. 14177 // 14178 // Multiple values can be assigned to the same key. One product may have 14179 // up to 14180 // 100 product_labels. 14181 ProductLabels []*GoogleCloudVisionV1p5beta1ProductKeyValue `json:"productLabels,omitempty"` 14182 14183 // ForceSendFields is a list of field names (e.g. "Description") to 14184 // unconditionally include in API requests. By default, fields with 14185 // empty values are omitted from API requests. However, any non-pointer, 14186 // non-interface field appearing in ForceSendFields will be sent to the 14187 // server regardless of whether the field is empty or not. This may be 14188 // used to include empty fields in Patch requests. 14189 ForceSendFields []string `json:"-"` 14190 14191 // NullFields is a list of field names (e.g. "Description") to include 14192 // in API requests with the JSON null value. By default, fields with 14193 // empty values are omitted from API requests. However, any field with 14194 // an empty value appearing in NullFields will be sent to the server as 14195 // null. It is an error if a field in this list has a non-empty value. 14196 // This may be used to include null fields in Patch requests. 14197 NullFields []string `json:"-"` 14198} 14199 14200func (s *GoogleCloudVisionV1p5beta1Product) MarshalJSON() ([]byte, error) { 14201 type NoMethod GoogleCloudVisionV1p5beta1Product 14202 raw := NoMethod(*s) 14203 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14204} 14205 14206// GoogleCloudVisionV1p5beta1ProductKeyValue: A product label 14207// represented as a key-value pair. 14208type GoogleCloudVisionV1p5beta1ProductKeyValue struct { 14209 // Key: The key of the label attached to the product. Cannot be empty 14210 // and cannot 14211 // exceed 128 bytes. 14212 Key string `json:"key,omitempty"` 14213 14214 // Value: The value of the label attached to the product. Cannot be 14215 // empty and 14216 // cannot exceed 128 bytes. 14217 Value string `json:"value,omitempty"` 14218 14219 // ForceSendFields is a list of field names (e.g. "Key") to 14220 // unconditionally include in API requests. By default, fields with 14221 // empty values are omitted from API requests. However, any non-pointer, 14222 // non-interface field appearing in ForceSendFields will be sent to the 14223 // server regardless of whether the field is empty or not. This may be 14224 // used to include empty fields in Patch requests. 14225 ForceSendFields []string `json:"-"` 14226 14227 // NullFields is a list of field names (e.g. "Key") to include in API 14228 // requests with the JSON null value. By default, fields with empty 14229 // values are omitted from API requests. However, any field with an 14230 // empty value appearing in NullFields will be sent to the server as 14231 // null. It is an error if a field in this list has a non-empty value. 14232 // This may be used to include null fields in Patch requests. 14233 NullFields []string `json:"-"` 14234} 14235 14236func (s *GoogleCloudVisionV1p5beta1ProductKeyValue) MarshalJSON() ([]byte, error) { 14237 type NoMethod GoogleCloudVisionV1p5beta1ProductKeyValue 14238 raw := NoMethod(*s) 14239 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14240} 14241 14242// GoogleCloudVisionV1p5beta1ProductSearchResults: Results for a product 14243// search request. 14244type GoogleCloudVisionV1p5beta1ProductSearchResults struct { 14245 // IndexTime: Timestamp of the index which provided these results. 14246 // Products added to the 14247 // product set and products removed from the product set after this time 14248 // are 14249 // not reflected in the current results. 14250 IndexTime string `json:"indexTime,omitempty"` 14251 14252 // ProductGroupedResults: List of results grouped by products detected 14253 // in the query image. Each entry 14254 // corresponds to one bounding polygon in the query image, and contains 14255 // the 14256 // matching products specific to that region. There may be duplicate 14257 // product 14258 // matches in the union of all the per-product results. 14259 ProductGroupedResults []*GoogleCloudVisionV1p5beta1ProductSearchResultsGroupedResult `json:"productGroupedResults,omitempty"` 14260 14261 // Results: List of results, one for each product match. 14262 Results []*GoogleCloudVisionV1p5beta1ProductSearchResultsResult `json:"results,omitempty"` 14263 14264 // ForceSendFields is a list of field names (e.g. "IndexTime") to 14265 // unconditionally include in API requests. By default, fields with 14266 // empty values are omitted from API requests. However, any non-pointer, 14267 // non-interface field appearing in ForceSendFields will be sent to the 14268 // server regardless of whether the field is empty or not. This may be 14269 // used to include empty fields in Patch requests. 14270 ForceSendFields []string `json:"-"` 14271 14272 // NullFields is a list of field names (e.g. "IndexTime") to include in 14273 // API requests with the JSON null value. By default, fields with empty 14274 // values are omitted from API requests. However, any field with an 14275 // empty value appearing in NullFields will be sent to the server as 14276 // null. It is an error if a field in this list has a non-empty value. 14277 // This may be used to include null fields in Patch requests. 14278 NullFields []string `json:"-"` 14279} 14280 14281func (s *GoogleCloudVisionV1p5beta1ProductSearchResults) MarshalJSON() ([]byte, error) { 14282 type NoMethod GoogleCloudVisionV1p5beta1ProductSearchResults 14283 raw := NoMethod(*s) 14284 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14285} 14286 14287// GoogleCloudVisionV1p5beta1ProductSearchResultsGroupedResult: 14288// Information about the products similar to a single product in a 14289// query 14290// image. 14291type GoogleCloudVisionV1p5beta1ProductSearchResultsGroupedResult struct { 14292 // BoundingPoly: The bounding polygon around the product detected in the 14293 // query image. 14294 BoundingPoly *GoogleCloudVisionV1p5beta1BoundingPoly `json:"boundingPoly,omitempty"` 14295 14296 // Results: List of results, one for each product match. 14297 Results []*GoogleCloudVisionV1p5beta1ProductSearchResultsResult `json:"results,omitempty"` 14298 14299 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 14300 // unconditionally include in API requests. By default, fields with 14301 // empty values are omitted from API requests. However, any non-pointer, 14302 // non-interface field appearing in ForceSendFields will be sent to the 14303 // server regardless of whether the field is empty or not. This may be 14304 // used to include empty fields in Patch requests. 14305 ForceSendFields []string `json:"-"` 14306 14307 // NullFields is a list of field names (e.g. "BoundingPoly") to include 14308 // in API requests with the JSON null value. By default, fields with 14309 // empty values are omitted from API requests. However, any field with 14310 // an empty value appearing in NullFields will be sent to the server as 14311 // null. It is an error if a field in this list has a non-empty value. 14312 // This may be used to include null fields in Patch requests. 14313 NullFields []string `json:"-"` 14314} 14315 14316func (s *GoogleCloudVisionV1p5beta1ProductSearchResultsGroupedResult) MarshalJSON() ([]byte, error) { 14317 type NoMethod GoogleCloudVisionV1p5beta1ProductSearchResultsGroupedResult 14318 raw := NoMethod(*s) 14319 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14320} 14321 14322// GoogleCloudVisionV1p5beta1ProductSearchResultsResult: Information 14323// about a product. 14324type GoogleCloudVisionV1p5beta1ProductSearchResultsResult struct { 14325 // Image: The resource name of the image from the product that is the 14326 // closest match 14327 // to the query. 14328 Image string `json:"image,omitempty"` 14329 14330 // Product: The Product. 14331 Product *GoogleCloudVisionV1p5beta1Product `json:"product,omitempty"` 14332 14333 // Score: A confidence level on the match, ranging from 0 (no 14334 // confidence) to 14335 // 1 (full confidence). 14336 Score float64 `json:"score,omitempty"` 14337 14338 // ForceSendFields is a list of field names (e.g. "Image") to 14339 // unconditionally include in API requests. By default, fields with 14340 // empty values are omitted from API requests. However, any non-pointer, 14341 // non-interface field appearing in ForceSendFields will be sent to the 14342 // server regardless of whether the field is empty or not. This may be 14343 // used to include empty fields in Patch requests. 14344 ForceSendFields []string `json:"-"` 14345 14346 // NullFields is a list of field names (e.g. "Image") to include in API 14347 // requests with the JSON null value. By default, fields with empty 14348 // values are omitted from API requests. However, any field with an 14349 // empty value appearing in NullFields will be sent to the server as 14350 // null. It is an error if a field in this list has a non-empty value. 14351 // This may be used to include null fields in Patch requests. 14352 NullFields []string `json:"-"` 14353} 14354 14355func (s *GoogleCloudVisionV1p5beta1ProductSearchResultsResult) MarshalJSON() ([]byte, error) { 14356 type NoMethod GoogleCloudVisionV1p5beta1ProductSearchResultsResult 14357 raw := NoMethod(*s) 14358 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14359} 14360 14361func (s *GoogleCloudVisionV1p5beta1ProductSearchResultsResult) UnmarshalJSON(data []byte) error { 14362 type NoMethod GoogleCloudVisionV1p5beta1ProductSearchResultsResult 14363 var s1 struct { 14364 Score gensupport.JSONFloat64 `json:"score"` 14365 *NoMethod 14366 } 14367 s1.NoMethod = (*NoMethod)(s) 14368 if err := json.Unmarshal(data, &s1); err != nil { 14369 return err 14370 } 14371 s.Score = float64(s1.Score) 14372 return nil 14373} 14374 14375// GoogleCloudVisionV1p5beta1Property: A `Property` consists of a 14376// user-supplied name/value pair. 14377type GoogleCloudVisionV1p5beta1Property struct { 14378 // Name: Name of the property. 14379 Name string `json:"name,omitempty"` 14380 14381 // Uint64Value: Value of numeric properties. 14382 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 14383 14384 // Value: Value of the property. 14385 Value string `json:"value,omitempty"` 14386 14387 // ForceSendFields is a list of field names (e.g. "Name") to 14388 // unconditionally include in API requests. By default, fields with 14389 // empty values are omitted from API requests. However, any non-pointer, 14390 // non-interface field appearing in ForceSendFields will be sent to the 14391 // server regardless of whether the field is empty or not. This may be 14392 // used to include empty fields in Patch requests. 14393 ForceSendFields []string `json:"-"` 14394 14395 // NullFields is a list of field names (e.g. "Name") to include in API 14396 // requests with the JSON null value. By default, fields with empty 14397 // values are omitted from API requests. However, any field with an 14398 // empty value appearing in NullFields will be sent to the server as 14399 // null. It is an error if a field in this list has a non-empty value. 14400 // This may be used to include null fields in Patch requests. 14401 NullFields []string `json:"-"` 14402} 14403 14404func (s *GoogleCloudVisionV1p5beta1Property) MarshalJSON() ([]byte, error) { 14405 type NoMethod GoogleCloudVisionV1p5beta1Property 14406 raw := NoMethod(*s) 14407 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14408} 14409 14410// GoogleCloudVisionV1p5beta1ReferenceImage: A `ReferenceImage` 14411// represents a product image and its associated metadata, 14412// such as bounding boxes. 14413type GoogleCloudVisionV1p5beta1ReferenceImage struct { 14414 // BoundingPolys: Bounding polygons around the areas of interest in the 14415 // reference image. 14416 // Optional. If this field is empty, the system will try to detect 14417 // regions of 14418 // interest. At most 10 bounding polygons will be used. 14419 // 14420 // The provided shape is converted into a non-rotated rectangle. 14421 // Once 14422 // converted, the small edge of the rectangle must be greater than or 14423 // equal 14424 // to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 14425 // 1:5 14426 // is not). 14427 BoundingPolys []*GoogleCloudVisionV1p5beta1BoundingPoly `json:"boundingPolys,omitempty"` 14428 14429 // Name: The resource name of the reference image. 14430 // 14431 // Format 14432 // is: 14433 // 14434 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referen 14435 // ceImages/IMAGE_ID`. 14436 // 14437 // This field is ignored when creating a reference image. 14438 Name string `json:"name,omitempty"` 14439 14440 // Uri: The Google Cloud Storage URI of the reference image. 14441 // 14442 // The URI must start with `gs://`. 14443 // 14444 // Required. 14445 Uri string `json:"uri,omitempty"` 14446 14447 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 14448 // unconditionally include in API requests. By default, fields with 14449 // empty values are omitted from API requests. However, any non-pointer, 14450 // non-interface field appearing in ForceSendFields will be sent to the 14451 // server regardless of whether the field is empty or not. This may be 14452 // used to include empty fields in Patch requests. 14453 ForceSendFields []string `json:"-"` 14454 14455 // NullFields is a list of field names (e.g. "BoundingPolys") to include 14456 // in API requests with the JSON null value. By default, fields with 14457 // empty values are omitted from API requests. However, any field with 14458 // an empty value appearing in NullFields will be sent to the server as 14459 // null. It is an error if a field in this list has a non-empty value. 14460 // This may be used to include null fields in Patch requests. 14461 NullFields []string `json:"-"` 14462} 14463 14464func (s *GoogleCloudVisionV1p5beta1ReferenceImage) MarshalJSON() ([]byte, error) { 14465 type NoMethod GoogleCloudVisionV1p5beta1ReferenceImage 14466 raw := NoMethod(*s) 14467 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14468} 14469 14470// GoogleCloudVisionV1p5beta1SafeSearchAnnotation: Set of features 14471// pertaining to the image, computed by computer vision 14472// methods over safe-search verticals (for example, adult, spoof, 14473// medical, 14474// violence). 14475type GoogleCloudVisionV1p5beta1SafeSearchAnnotation struct { 14476 // Adult: Represents the adult content likelihood for the image. Adult 14477 // content may 14478 // contain elements such as nudity, pornographic images or cartoons, 14479 // or 14480 // sexual activities. 14481 // 14482 // Possible values: 14483 // "UNKNOWN" - Unknown likelihood. 14484 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 14485 // specified vertical. 14486 // "UNLIKELY" - It is unlikely that the image belongs to the specified 14487 // vertical. 14488 // "POSSIBLE" - It is possible that the image belongs to the specified 14489 // vertical. 14490 // "LIKELY" - It is likely that the image belongs to the specified 14491 // vertical. 14492 // "VERY_LIKELY" - It is very likely that the image belongs to the 14493 // specified vertical. 14494 Adult string `json:"adult,omitempty"` 14495 14496 // Medical: Likelihood that this is a medical image. 14497 // 14498 // Possible values: 14499 // "UNKNOWN" - Unknown likelihood. 14500 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 14501 // specified vertical. 14502 // "UNLIKELY" - It is unlikely that the image belongs to the specified 14503 // vertical. 14504 // "POSSIBLE" - It is possible that the image belongs to the specified 14505 // vertical. 14506 // "LIKELY" - It is likely that the image belongs to the specified 14507 // vertical. 14508 // "VERY_LIKELY" - It is very likely that the image belongs to the 14509 // specified vertical. 14510 Medical string `json:"medical,omitempty"` 14511 14512 // Racy: Likelihood that the request image contains racy content. Racy 14513 // content may 14514 // include (but is not limited to) skimpy or sheer clothing, 14515 // strategically 14516 // covered nudity, lewd or provocative poses, or close-ups of 14517 // sensitive 14518 // body areas. 14519 // 14520 // Possible values: 14521 // "UNKNOWN" - Unknown likelihood. 14522 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 14523 // specified vertical. 14524 // "UNLIKELY" - It is unlikely that the image belongs to the specified 14525 // vertical. 14526 // "POSSIBLE" - It is possible that the image belongs to the specified 14527 // vertical. 14528 // "LIKELY" - It is likely that the image belongs to the specified 14529 // vertical. 14530 // "VERY_LIKELY" - It is very likely that the image belongs to the 14531 // specified vertical. 14532 Racy string `json:"racy,omitempty"` 14533 14534 // Spoof: Spoof likelihood. The likelihood that an modification 14535 // was made to the image's canonical version to make it appear 14536 // funny or offensive. 14537 // 14538 // Possible values: 14539 // "UNKNOWN" - Unknown likelihood. 14540 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 14541 // specified vertical. 14542 // "UNLIKELY" - It is unlikely that the image belongs to the specified 14543 // vertical. 14544 // "POSSIBLE" - It is possible that the image belongs to the specified 14545 // vertical. 14546 // "LIKELY" - It is likely that the image belongs to the specified 14547 // vertical. 14548 // "VERY_LIKELY" - It is very likely that the image belongs to the 14549 // specified vertical. 14550 Spoof string `json:"spoof,omitempty"` 14551 14552 // Violence: Likelihood that this image contains violent content. 14553 // 14554 // Possible values: 14555 // "UNKNOWN" - Unknown likelihood. 14556 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 14557 // specified vertical. 14558 // "UNLIKELY" - It is unlikely that the image belongs to the specified 14559 // vertical. 14560 // "POSSIBLE" - It is possible that the image belongs to the specified 14561 // vertical. 14562 // "LIKELY" - It is likely that the image belongs to the specified 14563 // vertical. 14564 // "VERY_LIKELY" - It is very likely that the image belongs to the 14565 // specified vertical. 14566 Violence string `json:"violence,omitempty"` 14567 14568 // ForceSendFields is a list of field names (e.g. "Adult") to 14569 // unconditionally include in API requests. By default, fields with 14570 // empty values are omitted from API requests. However, any non-pointer, 14571 // non-interface field appearing in ForceSendFields will be sent to the 14572 // server regardless of whether the field is empty or not. This may be 14573 // used to include empty fields in Patch requests. 14574 ForceSendFields []string `json:"-"` 14575 14576 // NullFields is a list of field names (e.g. "Adult") to include in API 14577 // requests with the JSON null value. By default, fields with empty 14578 // values are omitted from API requests. However, any field with an 14579 // empty value appearing in NullFields will be sent to the server as 14580 // null. It is an error if a field in this list has a non-empty value. 14581 // This may be used to include null fields in Patch requests. 14582 NullFields []string `json:"-"` 14583} 14584 14585func (s *GoogleCloudVisionV1p5beta1SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 14586 type NoMethod GoogleCloudVisionV1p5beta1SafeSearchAnnotation 14587 raw := NoMethod(*s) 14588 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14589} 14590 14591// GoogleCloudVisionV1p5beta1Symbol: A single symbol representation. 14592type GoogleCloudVisionV1p5beta1Symbol struct { 14593 // BoundingBox: The bounding box for the symbol. 14594 // The vertices are in the order of top-left, top-right, 14595 // bottom-right, 14596 // bottom-left. When a rotation of the bounding box is detected the 14597 // rotation 14598 // is represented as around the top-left corner as defined when the text 14599 // is 14600 // read in the 'natural' orientation. 14601 // For example: 14602 // * when the text is horizontal it might look like: 14603 // 0----1 14604 // | | 14605 // 3----2 14606 // * when it's rotated 180 degrees around the top-left corner it 14607 // becomes: 14608 // 2----3 14609 // | | 14610 // 1----0 14611 // and the vertice order will still be (0, 1, 2, 3). 14612 BoundingBox *GoogleCloudVisionV1p5beta1BoundingPoly `json:"boundingBox,omitempty"` 14613 14614 // Confidence: Confidence of the OCR results for the symbol. Range [0, 14615 // 1]. 14616 Confidence float64 `json:"confidence,omitempty"` 14617 14618 // Property: Additional information detected for the symbol. 14619 Property *GoogleCloudVisionV1p5beta1TextAnnotationTextProperty `json:"property,omitempty"` 14620 14621 // Text: The actual UTF-8 representation of the symbol. 14622 Text string `json:"text,omitempty"` 14623 14624 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 14625 // unconditionally include in API requests. By default, fields with 14626 // empty values are omitted from API requests. However, any non-pointer, 14627 // non-interface field appearing in ForceSendFields will be sent to the 14628 // server regardless of whether the field is empty or not. This may be 14629 // used to include empty fields in Patch requests. 14630 ForceSendFields []string `json:"-"` 14631 14632 // NullFields is a list of field names (e.g. "BoundingBox") to include 14633 // in API requests with the JSON null value. By default, fields with 14634 // empty values are omitted from API requests. However, any field with 14635 // an empty value appearing in NullFields will be sent to the server as 14636 // null. It is an error if a field in this list has a non-empty value. 14637 // This may be used to include null fields in Patch requests. 14638 NullFields []string `json:"-"` 14639} 14640 14641func (s *GoogleCloudVisionV1p5beta1Symbol) MarshalJSON() ([]byte, error) { 14642 type NoMethod GoogleCloudVisionV1p5beta1Symbol 14643 raw := NoMethod(*s) 14644 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14645} 14646 14647func (s *GoogleCloudVisionV1p5beta1Symbol) UnmarshalJSON(data []byte) error { 14648 type NoMethod GoogleCloudVisionV1p5beta1Symbol 14649 var s1 struct { 14650 Confidence gensupport.JSONFloat64 `json:"confidence"` 14651 *NoMethod 14652 } 14653 s1.NoMethod = (*NoMethod)(s) 14654 if err := json.Unmarshal(data, &s1); err != nil { 14655 return err 14656 } 14657 s.Confidence = float64(s1.Confidence) 14658 return nil 14659} 14660 14661// GoogleCloudVisionV1p5beta1Table: A table representation similar to 14662// HTML table structure. 14663type GoogleCloudVisionV1p5beta1Table struct { 14664 // BodyRows: Body rows of the table 14665 BodyRows []*GoogleCloudVisionV1p5beta1TableTableRow `json:"bodyRows,omitempty"` 14666 14667 // HeaderRows: Header rows of the table 14668 HeaderRows []*GoogleCloudVisionV1p5beta1TableTableRow `json:"headerRows,omitempty"` 14669 14670 // ForceSendFields is a list of field names (e.g. "BodyRows") to 14671 // unconditionally include in API requests. By default, fields with 14672 // empty values are omitted from API requests. However, any non-pointer, 14673 // non-interface field appearing in ForceSendFields will be sent to the 14674 // server regardless of whether the field is empty or not. This may be 14675 // used to include empty fields in Patch requests. 14676 ForceSendFields []string `json:"-"` 14677 14678 // NullFields is a list of field names (e.g. "BodyRows") to include in 14679 // API requests with the JSON null value. By default, fields with empty 14680 // values are omitted from API requests. However, any field with an 14681 // empty value appearing in NullFields will be sent to the server as 14682 // null. It is an error if a field in this list has a non-empty value. 14683 // This may be used to include null fields in Patch requests. 14684 NullFields []string `json:"-"` 14685} 14686 14687func (s *GoogleCloudVisionV1p5beta1Table) MarshalJSON() ([]byte, error) { 14688 type NoMethod GoogleCloudVisionV1p5beta1Table 14689 raw := NoMethod(*s) 14690 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14691} 14692 14693// GoogleCloudVisionV1p5beta1TableTableCell: A cell representation 14694// inside of tables. 14695type GoogleCloudVisionV1p5beta1TableTableCell struct { 14696 // ColSpan: How many columns this cell spans. 14697 ColSpan int64 `json:"colSpan,omitempty"` 14698 14699 // RowSpan: How many rows this cell spans. 14700 RowSpan int64 `json:"rowSpan,omitempty"` 14701 14702 // Text: The merged text value of this cell, omitting any deeper 14703 // structural 14704 // information unlike `text_block`. This is useful for simple cells. 14705 Text string `json:"text,omitempty"` 14706 14707 // TextBlock: Text block for this cell which also contains the 14708 // normalized bounding box 14709 // for the cell and deeper structures within a cell if present. 14710 TextBlock *GoogleCloudVisionV1p5beta1Block `json:"textBlock,omitempty"` 14711 14712 // ForceSendFields is a list of field names (e.g. "ColSpan") to 14713 // unconditionally include in API requests. By default, fields with 14714 // empty values are omitted from API requests. However, any non-pointer, 14715 // non-interface field appearing in ForceSendFields will be sent to the 14716 // server regardless of whether the field is empty or not. This may be 14717 // used to include empty fields in Patch requests. 14718 ForceSendFields []string `json:"-"` 14719 14720 // NullFields is a list of field names (e.g. "ColSpan") to include in 14721 // API requests with the JSON null value. By default, fields with empty 14722 // values are omitted from API requests. However, any field with an 14723 // empty value appearing in NullFields will be sent to the server as 14724 // null. It is an error if a field in this list has a non-empty value. 14725 // This may be used to include null fields in Patch requests. 14726 NullFields []string `json:"-"` 14727} 14728 14729func (s *GoogleCloudVisionV1p5beta1TableTableCell) MarshalJSON() ([]byte, error) { 14730 type NoMethod GoogleCloudVisionV1p5beta1TableTableCell 14731 raw := NoMethod(*s) 14732 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14733} 14734 14735// GoogleCloudVisionV1p5beta1TableTableRow: A row of table cells. 14736type GoogleCloudVisionV1p5beta1TableTableRow struct { 14737 // Cells: Cells that make up this row. 14738 Cells []*GoogleCloudVisionV1p5beta1TableTableCell `json:"cells,omitempty"` 14739 14740 // ForceSendFields is a list of field names (e.g. "Cells") to 14741 // unconditionally include in API requests. By default, fields with 14742 // empty values are omitted from API requests. However, any non-pointer, 14743 // non-interface field appearing in ForceSendFields will be sent to the 14744 // server regardless of whether the field is empty or not. This may be 14745 // used to include empty fields in Patch requests. 14746 ForceSendFields []string `json:"-"` 14747 14748 // NullFields is a list of field names (e.g. "Cells") to include in API 14749 // requests with the JSON null value. By default, fields with empty 14750 // values are omitted from API requests. However, any field with an 14751 // empty value appearing in NullFields will be sent to the server as 14752 // null. It is an error if a field in this list has a non-empty value. 14753 // This may be used to include null fields in Patch requests. 14754 NullFields []string `json:"-"` 14755} 14756 14757func (s *GoogleCloudVisionV1p5beta1TableTableRow) MarshalJSON() ([]byte, error) { 14758 type NoMethod GoogleCloudVisionV1p5beta1TableTableRow 14759 raw := NoMethod(*s) 14760 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14761} 14762 14763// GoogleCloudVisionV1p5beta1TextAnnotation: TextAnnotation contains a 14764// structured representation of OCR extracted text. 14765// The hierarchy of an OCR extracted text structure is like this: 14766// TextAnnotation -> Page -> Block -> Paragraph -> Word -> 14767// Symbol 14768// Each structural component, starting from Page, may further have their 14769// own 14770// properties. Properties describe detected languages, breaks etc.. 14771// Please refer 14772// to the TextAnnotation.TextProperty message definition below for 14773// more 14774// detail. 14775type GoogleCloudVisionV1p5beta1TextAnnotation struct { 14776 // Pages: List of pages detected by OCR. 14777 Pages []*GoogleCloudVisionV1p5beta1Page `json:"pages,omitempty"` 14778 14779 // Text: UTF-8 text detected on the pages. 14780 Text string `json:"text,omitempty"` 14781 14782 // ForceSendFields is a list of field names (e.g. "Pages") to 14783 // unconditionally include in API requests. By default, fields with 14784 // empty values are omitted from API requests. However, any non-pointer, 14785 // non-interface field appearing in ForceSendFields will be sent to the 14786 // server regardless of whether the field is empty or not. This may be 14787 // used to include empty fields in Patch requests. 14788 ForceSendFields []string `json:"-"` 14789 14790 // NullFields is a list of field names (e.g. "Pages") to include in API 14791 // requests with the JSON null value. By default, fields with empty 14792 // values are omitted from API requests. However, any field with an 14793 // empty value appearing in NullFields will be sent to the server as 14794 // null. It is an error if a field in this list has a non-empty value. 14795 // This may be used to include null fields in Patch requests. 14796 NullFields []string `json:"-"` 14797} 14798 14799func (s *GoogleCloudVisionV1p5beta1TextAnnotation) MarshalJSON() ([]byte, error) { 14800 type NoMethod GoogleCloudVisionV1p5beta1TextAnnotation 14801 raw := NoMethod(*s) 14802 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14803} 14804 14805// GoogleCloudVisionV1p5beta1TextAnnotationDetectedBreak: Detected start 14806// or end of a structural component. 14807type GoogleCloudVisionV1p5beta1TextAnnotationDetectedBreak struct { 14808 // IsPrefix: True if break prepends the element. 14809 IsPrefix bool `json:"isPrefix,omitempty"` 14810 14811 // Type: Detected break type. 14812 // 14813 // Possible values: 14814 // "UNKNOWN" - Unknown break label type. 14815 // "SPACE" - Regular space. 14816 // "SURE_SPACE" - Sure space (very wide). 14817 // "EOL_SURE_SPACE" - Line-wrapping break. 14818 // "HYPHEN" - End-line hyphen that is not present in text; does not 14819 // co-occur with 14820 // `SPACE`, `LEADER_SPACE`, or `LINE_BREAK`. 14821 // "LINE_BREAK" - Line break that ends a paragraph. 14822 Type string `json:"type,omitempty"` 14823 14824 // ForceSendFields is a list of field names (e.g. "IsPrefix") to 14825 // unconditionally include in API requests. By default, fields with 14826 // empty values are omitted from API requests. However, any non-pointer, 14827 // non-interface field appearing in ForceSendFields will be sent to the 14828 // server regardless of whether the field is empty or not. This may be 14829 // used to include empty fields in Patch requests. 14830 ForceSendFields []string `json:"-"` 14831 14832 // NullFields is a list of field names (e.g. "IsPrefix") to include in 14833 // API requests with the JSON null value. By default, fields with empty 14834 // values are omitted from API requests. However, any field with an 14835 // empty value appearing in NullFields will be sent to the server as 14836 // null. It is an error if a field in this list has a non-empty value. 14837 // This may be used to include null fields in Patch requests. 14838 NullFields []string `json:"-"` 14839} 14840 14841func (s *GoogleCloudVisionV1p5beta1TextAnnotationDetectedBreak) MarshalJSON() ([]byte, error) { 14842 type NoMethod GoogleCloudVisionV1p5beta1TextAnnotationDetectedBreak 14843 raw := NoMethod(*s) 14844 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14845} 14846 14847// GoogleCloudVisionV1p5beta1TextAnnotationDetectedLanguage: Detected 14848// language for a structural component. 14849type GoogleCloudVisionV1p5beta1TextAnnotationDetectedLanguage struct { 14850 // Confidence: Confidence of detected language. Range [0, 1]. 14851 Confidence float64 `json:"confidence,omitempty"` 14852 14853 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 14854 // For more 14855 // information, 14856 // see 14857 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 14858 LanguageCode string `json:"languageCode,omitempty"` 14859 14860 // ForceSendFields is a list of field names (e.g. "Confidence") to 14861 // unconditionally include in API requests. By default, fields with 14862 // empty values are omitted from API requests. However, any non-pointer, 14863 // non-interface field appearing in ForceSendFields will be sent to the 14864 // server regardless of whether the field is empty or not. This may be 14865 // used to include empty fields in Patch requests. 14866 ForceSendFields []string `json:"-"` 14867 14868 // NullFields is a list of field names (e.g. "Confidence") to include in 14869 // API requests with the JSON null value. By default, fields with empty 14870 // values are omitted from API requests. However, any field with an 14871 // empty value appearing in NullFields will be sent to the server as 14872 // null. It is an error if a field in this list has a non-empty value. 14873 // This may be used to include null fields in Patch requests. 14874 NullFields []string `json:"-"` 14875} 14876 14877func (s *GoogleCloudVisionV1p5beta1TextAnnotationDetectedLanguage) MarshalJSON() ([]byte, error) { 14878 type NoMethod GoogleCloudVisionV1p5beta1TextAnnotationDetectedLanguage 14879 raw := NoMethod(*s) 14880 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14881} 14882 14883func (s *GoogleCloudVisionV1p5beta1TextAnnotationDetectedLanguage) UnmarshalJSON(data []byte) error { 14884 type NoMethod GoogleCloudVisionV1p5beta1TextAnnotationDetectedLanguage 14885 var s1 struct { 14886 Confidence gensupport.JSONFloat64 `json:"confidence"` 14887 *NoMethod 14888 } 14889 s1.NoMethod = (*NoMethod)(s) 14890 if err := json.Unmarshal(data, &s1); err != nil { 14891 return err 14892 } 14893 s.Confidence = float64(s1.Confidence) 14894 return nil 14895} 14896 14897// GoogleCloudVisionV1p5beta1TextAnnotationTextProperty: Additional 14898// information detected on the structural component. 14899type GoogleCloudVisionV1p5beta1TextAnnotationTextProperty struct { 14900 // DetectedBreak: Detected start or end of a text segment. 14901 DetectedBreak *GoogleCloudVisionV1p5beta1TextAnnotationDetectedBreak `json:"detectedBreak,omitempty"` 14902 14903 // DetectedLanguages: A list of detected languages together with 14904 // confidence. 14905 DetectedLanguages []*GoogleCloudVisionV1p5beta1TextAnnotationDetectedLanguage `json:"detectedLanguages,omitempty"` 14906 14907 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 14908 // unconditionally include in API requests. By default, fields with 14909 // empty values are omitted from API requests. However, any non-pointer, 14910 // non-interface field appearing in ForceSendFields will be sent to the 14911 // server regardless of whether the field is empty or not. This may be 14912 // used to include empty fields in Patch requests. 14913 ForceSendFields []string `json:"-"` 14914 14915 // NullFields is a list of field names (e.g. "DetectedBreak") to include 14916 // in API requests with the JSON null value. By default, fields with 14917 // empty values are omitted from API requests. However, any field with 14918 // an empty value appearing in NullFields will be sent to the server as 14919 // null. It is an error if a field in this list has a non-empty value. 14920 // This may be used to include null fields in Patch requests. 14921 NullFields []string `json:"-"` 14922} 14923 14924func (s *GoogleCloudVisionV1p5beta1TextAnnotationTextProperty) MarshalJSON() ([]byte, error) { 14925 type NoMethod GoogleCloudVisionV1p5beta1TextAnnotationTextProperty 14926 raw := NoMethod(*s) 14927 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14928} 14929 14930// GoogleCloudVisionV1p5beta1Vertex: A vertex represents a 2D point in 14931// the image. 14932// NOTE: the vertex coordinates are in the same scale as the original 14933// image. 14934type GoogleCloudVisionV1p5beta1Vertex struct { 14935 // X: X coordinate. 14936 X int64 `json:"x,omitempty"` 14937 14938 // Y: Y coordinate. 14939 Y int64 `json:"y,omitempty"` 14940 14941 // ForceSendFields is a list of field names (e.g. "X") to 14942 // unconditionally include in API requests. By default, fields with 14943 // empty values are omitted from API requests. However, any non-pointer, 14944 // non-interface field appearing in ForceSendFields will be sent to the 14945 // server regardless of whether the field is empty or not. This may be 14946 // used to include empty fields in Patch requests. 14947 ForceSendFields []string `json:"-"` 14948 14949 // NullFields is a list of field names (e.g. "X") to include in API 14950 // requests with the JSON null value. By default, fields with empty 14951 // values are omitted from API requests. However, any field with an 14952 // empty value appearing in NullFields will be sent to the server as 14953 // null. It is an error if a field in this list has a non-empty value. 14954 // This may be used to include null fields in Patch requests. 14955 NullFields []string `json:"-"` 14956} 14957 14958func (s *GoogleCloudVisionV1p5beta1Vertex) MarshalJSON() ([]byte, error) { 14959 type NoMethod GoogleCloudVisionV1p5beta1Vertex 14960 raw := NoMethod(*s) 14961 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 14962} 14963 14964// GoogleCloudVisionV1p5beta1WebDetection: Relevant information for the 14965// image from the Internet. 14966type GoogleCloudVisionV1p5beta1WebDetection struct { 14967 // BestGuessLabels: The service's best guess as to the topic of the 14968 // request image. 14969 // Inferred from similar images on the open web. 14970 BestGuessLabels []*GoogleCloudVisionV1p5beta1WebDetectionWebLabel `json:"bestGuessLabels,omitempty"` 14971 14972 // FullMatchingImages: Fully matching images from the Internet. 14973 // Can include resized copies of the query image. 14974 FullMatchingImages []*GoogleCloudVisionV1p5beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 14975 14976 // PagesWithMatchingImages: Web pages containing the matching images 14977 // from the Internet. 14978 PagesWithMatchingImages []*GoogleCloudVisionV1p5beta1WebDetectionWebPage `json:"pagesWithMatchingImages,omitempty"` 14979 14980 // PartialMatchingImages: Partial matching images from the 14981 // Internet. 14982 // Those images are similar enough to share some key-point features. 14983 // For 14984 // example an original image will likely have partial matching for its 14985 // crops. 14986 PartialMatchingImages []*GoogleCloudVisionV1p5beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 14987 14988 // VisuallySimilarImages: The visually similar image results. 14989 VisuallySimilarImages []*GoogleCloudVisionV1p5beta1WebDetectionWebImage `json:"visuallySimilarImages,omitempty"` 14990 14991 // WebEntities: Deduced entities from similar images on the Internet. 14992 WebEntities []*GoogleCloudVisionV1p5beta1WebDetectionWebEntity `json:"webEntities,omitempty"` 14993 14994 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 14995 // unconditionally include in API requests. By default, fields with 14996 // empty values are omitted from API requests. However, any non-pointer, 14997 // non-interface field appearing in ForceSendFields will be sent to the 14998 // server regardless of whether the field is empty or not. This may be 14999 // used to include empty fields in Patch requests. 15000 ForceSendFields []string `json:"-"` 15001 15002 // NullFields is a list of field names (e.g. "BestGuessLabels") to 15003 // include in API requests with the JSON null value. By default, fields 15004 // with empty values are omitted from API requests. However, any field 15005 // with an empty value appearing in NullFields will be sent to the 15006 // server as null. It is an error if a field in this list has a 15007 // non-empty value. This may be used to include null fields in Patch 15008 // requests. 15009 NullFields []string `json:"-"` 15010} 15011 15012func (s *GoogleCloudVisionV1p5beta1WebDetection) MarshalJSON() ([]byte, error) { 15013 type NoMethod GoogleCloudVisionV1p5beta1WebDetection 15014 raw := NoMethod(*s) 15015 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15016} 15017 15018// GoogleCloudVisionV1p5beta1WebDetectionWebEntity: Entity deduced from 15019// similar images on the Internet. 15020type GoogleCloudVisionV1p5beta1WebDetectionWebEntity struct { 15021 // Description: Canonical description of the entity, in English. 15022 Description string `json:"description,omitempty"` 15023 15024 // EntityId: Opaque entity ID. 15025 EntityId string `json:"entityId,omitempty"` 15026 15027 // Score: Overall relevancy score for the entity. 15028 // Not normalized and not comparable across different image queries. 15029 Score float64 `json:"score,omitempty"` 15030 15031 // ForceSendFields is a list of field names (e.g. "Description") to 15032 // unconditionally include in API requests. By default, fields with 15033 // empty values are omitted from API requests. However, any non-pointer, 15034 // non-interface field appearing in ForceSendFields will be sent to the 15035 // server regardless of whether the field is empty or not. This may be 15036 // used to include empty fields in Patch requests. 15037 ForceSendFields []string `json:"-"` 15038 15039 // NullFields is a list of field names (e.g. "Description") to include 15040 // in API requests with the JSON null value. By default, fields with 15041 // empty values are omitted from API requests. However, any field with 15042 // an empty value appearing in NullFields will be sent to the server as 15043 // null. It is an error if a field in this list has a non-empty value. 15044 // This may be used to include null fields in Patch requests. 15045 NullFields []string `json:"-"` 15046} 15047 15048func (s *GoogleCloudVisionV1p5beta1WebDetectionWebEntity) MarshalJSON() ([]byte, error) { 15049 type NoMethod GoogleCloudVisionV1p5beta1WebDetectionWebEntity 15050 raw := NoMethod(*s) 15051 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15052} 15053 15054func (s *GoogleCloudVisionV1p5beta1WebDetectionWebEntity) UnmarshalJSON(data []byte) error { 15055 type NoMethod GoogleCloudVisionV1p5beta1WebDetectionWebEntity 15056 var s1 struct { 15057 Score gensupport.JSONFloat64 `json:"score"` 15058 *NoMethod 15059 } 15060 s1.NoMethod = (*NoMethod)(s) 15061 if err := json.Unmarshal(data, &s1); err != nil { 15062 return err 15063 } 15064 s.Score = float64(s1.Score) 15065 return nil 15066} 15067 15068// GoogleCloudVisionV1p5beta1WebDetectionWebImage: Metadata for online 15069// images. 15070type GoogleCloudVisionV1p5beta1WebDetectionWebImage struct { 15071 // Score: (Deprecated) Overall relevancy score for the image. 15072 Score float64 `json:"score,omitempty"` 15073 15074 // Url: The result image URL. 15075 Url string `json:"url,omitempty"` 15076 15077 // ForceSendFields is a list of field names (e.g. "Score") to 15078 // unconditionally include in API requests. By default, fields with 15079 // empty values are omitted from API requests. However, any non-pointer, 15080 // non-interface field appearing in ForceSendFields will be sent to the 15081 // server regardless of whether the field is empty or not. This may be 15082 // used to include empty fields in Patch requests. 15083 ForceSendFields []string `json:"-"` 15084 15085 // NullFields is a list of field names (e.g. "Score") to include in API 15086 // requests with the JSON null value. By default, fields with empty 15087 // values are omitted from API requests. However, any field with an 15088 // empty value appearing in NullFields will be sent to the server as 15089 // null. It is an error if a field in this list has a non-empty value. 15090 // This may be used to include null fields in Patch requests. 15091 NullFields []string `json:"-"` 15092} 15093 15094func (s *GoogleCloudVisionV1p5beta1WebDetectionWebImage) MarshalJSON() ([]byte, error) { 15095 type NoMethod GoogleCloudVisionV1p5beta1WebDetectionWebImage 15096 raw := NoMethod(*s) 15097 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15098} 15099 15100func (s *GoogleCloudVisionV1p5beta1WebDetectionWebImage) UnmarshalJSON(data []byte) error { 15101 type NoMethod GoogleCloudVisionV1p5beta1WebDetectionWebImage 15102 var s1 struct { 15103 Score gensupport.JSONFloat64 `json:"score"` 15104 *NoMethod 15105 } 15106 s1.NoMethod = (*NoMethod)(s) 15107 if err := json.Unmarshal(data, &s1); err != nil { 15108 return err 15109 } 15110 s.Score = float64(s1.Score) 15111 return nil 15112} 15113 15114// GoogleCloudVisionV1p5beta1WebDetectionWebLabel: Label to provide 15115// extra metadata for the web detection. 15116type GoogleCloudVisionV1p5beta1WebDetectionWebLabel struct { 15117 // Label: Label for extra metadata. 15118 Label string `json:"label,omitempty"` 15119 15120 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 15121 // or "sr-Latn". 15122 // For more information, 15123 // see 15124 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 15125 LanguageCode string `json:"languageCode,omitempty"` 15126 15127 // ForceSendFields is a list of field names (e.g. "Label") to 15128 // unconditionally include in API requests. By default, fields with 15129 // empty values are omitted from API requests. However, any non-pointer, 15130 // non-interface field appearing in ForceSendFields will be sent to the 15131 // server regardless of whether the field is empty or not. This may be 15132 // used to include empty fields in Patch requests. 15133 ForceSendFields []string `json:"-"` 15134 15135 // NullFields is a list of field names (e.g. "Label") to include in API 15136 // requests with the JSON null value. By default, fields with empty 15137 // values are omitted from API requests. However, any field with an 15138 // empty value appearing in NullFields will be sent to the server as 15139 // null. It is an error if a field in this list has a non-empty value. 15140 // This may be used to include null fields in Patch requests. 15141 NullFields []string `json:"-"` 15142} 15143 15144func (s *GoogleCloudVisionV1p5beta1WebDetectionWebLabel) MarshalJSON() ([]byte, error) { 15145 type NoMethod GoogleCloudVisionV1p5beta1WebDetectionWebLabel 15146 raw := NoMethod(*s) 15147 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15148} 15149 15150// GoogleCloudVisionV1p5beta1WebDetectionWebPage: Metadata for web 15151// pages. 15152type GoogleCloudVisionV1p5beta1WebDetectionWebPage struct { 15153 // FullMatchingImages: Fully matching images on the page. 15154 // Can include resized copies of the query image. 15155 FullMatchingImages []*GoogleCloudVisionV1p5beta1WebDetectionWebImage `json:"fullMatchingImages,omitempty"` 15156 15157 // PageTitle: Title for the web page, may contain HTML markups. 15158 PageTitle string `json:"pageTitle,omitempty"` 15159 15160 // PartialMatchingImages: Partial matching images on the page. 15161 // Those images are similar enough to share some key-point features. 15162 // For 15163 // example an original image will likely have partial matching for 15164 // its 15165 // crops. 15166 PartialMatchingImages []*GoogleCloudVisionV1p5beta1WebDetectionWebImage `json:"partialMatchingImages,omitempty"` 15167 15168 // Score: (Deprecated) Overall relevancy score for the web page. 15169 Score float64 `json:"score,omitempty"` 15170 15171 // Url: The result web page URL. 15172 Url string `json:"url,omitempty"` 15173 15174 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 15175 // to unconditionally include in API requests. By default, fields with 15176 // empty values are omitted from API requests. However, any non-pointer, 15177 // non-interface field appearing in ForceSendFields will be sent to the 15178 // server regardless of whether the field is empty or not. This may be 15179 // used to include empty fields in Patch requests. 15180 ForceSendFields []string `json:"-"` 15181 15182 // NullFields is a list of field names (e.g. "FullMatchingImages") to 15183 // include in API requests with the JSON null value. By default, fields 15184 // with empty values are omitted from API requests. However, any field 15185 // with an empty value appearing in NullFields will be sent to the 15186 // server as null. It is an error if a field in this list has a 15187 // non-empty value. This may be used to include null fields in Patch 15188 // requests. 15189 NullFields []string `json:"-"` 15190} 15191 15192func (s *GoogleCloudVisionV1p5beta1WebDetectionWebPage) MarshalJSON() ([]byte, error) { 15193 type NoMethod GoogleCloudVisionV1p5beta1WebDetectionWebPage 15194 raw := NoMethod(*s) 15195 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15196} 15197 15198func (s *GoogleCloudVisionV1p5beta1WebDetectionWebPage) UnmarshalJSON(data []byte) error { 15199 type NoMethod GoogleCloudVisionV1p5beta1WebDetectionWebPage 15200 var s1 struct { 15201 Score gensupport.JSONFloat64 `json:"score"` 15202 *NoMethod 15203 } 15204 s1.NoMethod = (*NoMethod)(s) 15205 if err := json.Unmarshal(data, &s1); err != nil { 15206 return err 15207 } 15208 s.Score = float64(s1.Score) 15209 return nil 15210} 15211 15212// GoogleCloudVisionV1p5beta1Word: A word representation. 15213type GoogleCloudVisionV1p5beta1Word struct { 15214 // BoundingBox: The bounding box for the word. 15215 // The vertices are in the order of top-left, top-right, 15216 // bottom-right, 15217 // bottom-left. When a rotation of the bounding box is detected the 15218 // rotation 15219 // is represented as around the top-left corner as defined when the text 15220 // is 15221 // read in the 'natural' orientation. 15222 // For example: 15223 // * when the text is horizontal it might look like: 15224 // 0----1 15225 // | | 15226 // 3----2 15227 // * when it's rotated 180 degrees around the top-left corner it 15228 // becomes: 15229 // 2----3 15230 // | | 15231 // 1----0 15232 // and the vertex order will still be (0, 1, 2, 3). 15233 BoundingBox *GoogleCloudVisionV1p5beta1BoundingPoly `json:"boundingBox,omitempty"` 15234 15235 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 15236 Confidence float64 `json:"confidence,omitempty"` 15237 15238 // MergedText: All UTF-8 text detected in this word. This field is by 15239 // default not 15240 // returned unless specified in TextDetectionParams.word_filter. 15241 MergedText string `json:"mergedText,omitempty"` 15242 15243 // Property: Additional information detected for the word. 15244 Property *GoogleCloudVisionV1p5beta1TextAnnotationTextProperty `json:"property,omitempty"` 15245 15246 // Symbols: List of symbols in the word. 15247 // The order of the symbols follows the natural reading order. 15248 Symbols []*GoogleCloudVisionV1p5beta1Symbol `json:"symbols,omitempty"` 15249 15250 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 15251 // unconditionally include in API requests. By default, fields with 15252 // empty values are omitted from API requests. However, any non-pointer, 15253 // non-interface field appearing in ForceSendFields will be sent to the 15254 // server regardless of whether the field is empty or not. This may be 15255 // used to include empty fields in Patch requests. 15256 ForceSendFields []string `json:"-"` 15257 15258 // NullFields is a list of field names (e.g. "BoundingBox") to include 15259 // in API requests with the JSON null value. By default, fields with 15260 // empty values are omitted from API requests. However, any field with 15261 // an empty value appearing in NullFields will be sent to the server as 15262 // null. It is an error if a field in this list has a non-empty value. 15263 // This may be used to include null fields in Patch requests. 15264 NullFields []string `json:"-"` 15265} 15266 15267func (s *GoogleCloudVisionV1p5beta1Word) MarshalJSON() ([]byte, error) { 15268 type NoMethod GoogleCloudVisionV1p5beta1Word 15269 raw := NoMethod(*s) 15270 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15271} 15272 15273func (s *GoogleCloudVisionV1p5beta1Word) UnmarshalJSON(data []byte) error { 15274 type NoMethod GoogleCloudVisionV1p5beta1Word 15275 var s1 struct { 15276 Confidence gensupport.JSONFloat64 `json:"confidence"` 15277 *NoMethod 15278 } 15279 s1.NoMethod = (*NoMethod)(s) 15280 if err := json.Unmarshal(data, &s1); err != nil { 15281 return err 15282 } 15283 s.Confidence = float64(s1.Confidence) 15284 return nil 15285} 15286 15287// GroupedResult: Information about the products similar to a single 15288// product in a query 15289// image. 15290type GroupedResult struct { 15291 // BoundingPoly: The bounding polygon around the product detected in the 15292 // query image. 15293 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 15294 15295 // Results: List of results, one for each product match. 15296 Results []*Result `json:"results,omitempty"` 15297 15298 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 15299 // unconditionally include in API requests. By default, fields with 15300 // empty values are omitted from API requests. However, any non-pointer, 15301 // non-interface field appearing in ForceSendFields will be sent to the 15302 // server regardless of whether the field is empty or not. This may be 15303 // used to include empty fields in Patch requests. 15304 ForceSendFields []string `json:"-"` 15305 15306 // NullFields is a list of field names (e.g. "BoundingPoly") to include 15307 // in API requests with the JSON null value. By default, fields with 15308 // empty values are omitted from API requests. However, any field with 15309 // an empty value appearing in NullFields will be sent to the server as 15310 // null. It is an error if a field in this list has a non-empty value. 15311 // This may be used to include null fields in Patch requests. 15312 NullFields []string `json:"-"` 15313} 15314 15315func (s *GroupedResult) MarshalJSON() ([]byte, error) { 15316 type NoMethod GroupedResult 15317 raw := NoMethod(*s) 15318 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15319} 15320 15321// ImageAnnotationContext: If an image was produced from a file (e.g. a 15322// PDF), this message gives 15323// information about the source of that image. 15324type ImageAnnotationContext struct { 15325 // PageNumber: If the file was a PDF or TIFF, this field gives the page 15326 // number within 15327 // the file used to produce the image. 15328 PageNumber int64 `json:"pageNumber,omitempty"` 15329 15330 // Uri: The URI of the file used to produce the image. 15331 Uri string `json:"uri,omitempty"` 15332 15333 // ForceSendFields is a list of field names (e.g. "PageNumber") to 15334 // unconditionally include in API requests. By default, fields with 15335 // empty values are omitted from API requests. However, any non-pointer, 15336 // non-interface field appearing in ForceSendFields will be sent to the 15337 // server regardless of whether the field is empty or not. This may be 15338 // used to include empty fields in Patch requests. 15339 ForceSendFields []string `json:"-"` 15340 15341 // NullFields is a list of field names (e.g. "PageNumber") to include in 15342 // API requests with the JSON null value. By default, fields with empty 15343 // values are omitted from API requests. However, any field with an 15344 // empty value appearing in NullFields will be sent to the server as 15345 // null. It is an error if a field in this list has a non-empty value. 15346 // This may be used to include null fields in Patch requests. 15347 NullFields []string `json:"-"` 15348} 15349 15350func (s *ImageAnnotationContext) MarshalJSON() ([]byte, error) { 15351 type NoMethod ImageAnnotationContext 15352 raw := NoMethod(*s) 15353 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15354} 15355 15356// ImageProperties: Stores image properties, such as dominant colors. 15357type ImageProperties struct { 15358 // DominantColors: If present, dominant colors completed successfully. 15359 DominantColors *DominantColorsAnnotation `json:"dominantColors,omitempty"` 15360 15361 // ForceSendFields is a list of field names (e.g. "DominantColors") to 15362 // unconditionally include in API requests. By default, fields with 15363 // empty values are omitted from API requests. However, any non-pointer, 15364 // non-interface field appearing in ForceSendFields will be sent to the 15365 // server regardless of whether the field is empty or not. This may be 15366 // used to include empty fields in Patch requests. 15367 ForceSendFields []string `json:"-"` 15368 15369 // NullFields is a list of field names (e.g. "DominantColors") to 15370 // include in API requests with the JSON null value. By default, fields 15371 // with empty values are omitted from API requests. However, any field 15372 // with an empty value appearing in NullFields will be sent to the 15373 // server as null. It is an error if a field in this list has a 15374 // non-empty value. This may be used to include null fields in Patch 15375 // requests. 15376 NullFields []string `json:"-"` 15377} 15378 15379func (s *ImageProperties) MarshalJSON() ([]byte, error) { 15380 type NoMethod ImageProperties 15381 raw := NoMethod(*s) 15382 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15383} 15384 15385// ImportProductSetsResponse: Response message for the 15386// `ImportProductSets` method. 15387// 15388// This message is returned by 15389// the 15390// google.longrunning.Operations.GetOperation method in the 15391// returned 15392// google.longrunning.Operation.response field. 15393type ImportProductSetsResponse struct { 15394 // ReferenceImages: The list of reference_images that are imported 15395 // successfully. 15396 ReferenceImages []*ReferenceImage `json:"referenceImages,omitempty"` 15397 15398 // Statuses: The rpc status for each ImportProductSet request, including 15399 // both successes 15400 // and errors. 15401 // 15402 // The number of statuses here matches the number of lines in the csv 15403 // file, 15404 // and statuses[i] stores the success or failure status of processing 15405 // the i-th 15406 // line of the csv, starting from line 0. 15407 Statuses []*Status `json:"statuses,omitempty"` 15408 15409 // ForceSendFields is a list of field names (e.g. "ReferenceImages") to 15410 // unconditionally include in API requests. By default, fields with 15411 // empty values are omitted from API requests. However, any non-pointer, 15412 // non-interface field appearing in ForceSendFields will be sent to the 15413 // server regardless of whether the field is empty or not. This may be 15414 // used to include empty fields in Patch requests. 15415 ForceSendFields []string `json:"-"` 15416 15417 // NullFields is a list of field names (e.g. "ReferenceImages") to 15418 // include in API requests with the JSON null value. By default, fields 15419 // with empty values are omitted from API requests. However, any field 15420 // with an empty value appearing in NullFields will be sent to the 15421 // server as null. It is an error if a field in this list has a 15422 // non-empty value. This may be used to include null fields in Patch 15423 // requests. 15424 NullFields []string `json:"-"` 15425} 15426 15427func (s *ImportProductSetsResponse) MarshalJSON() ([]byte, error) { 15428 type NoMethod ImportProductSetsResponse 15429 raw := NoMethod(*s) 15430 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15431} 15432 15433// InputConfig: The desired input location and metadata. 15434type InputConfig struct { 15435 // Content: File content, represented as a stream of bytes. 15436 // Note: As with all `bytes` fields, protobuffers use a pure 15437 // binary 15438 // representation, whereas JSON representations use base64. 15439 // 15440 // Currently, this field only works for BatchAnnotateFiles requests. It 15441 // does 15442 // not work for AsyncBatchAnnotateFiles requests. 15443 Content string `json:"content,omitempty"` 15444 15445 // GcsSource: The Google Cloud Storage location to read the input from. 15446 GcsSource *GcsSource `json:"gcsSource,omitempty"` 15447 15448 // MimeType: The type of the file. Currently only "application/pdf", 15449 // "image/tiff" and 15450 // "image/gif" are supported. Wildcards are not supported. 15451 MimeType string `json:"mimeType,omitempty"` 15452 15453 // ForceSendFields is a list of field names (e.g. "Content") to 15454 // unconditionally include in API requests. By default, fields with 15455 // empty values are omitted from API requests. However, any non-pointer, 15456 // non-interface field appearing in ForceSendFields will be sent to the 15457 // server regardless of whether the field is empty or not. This may be 15458 // used to include empty fields in Patch requests. 15459 ForceSendFields []string `json:"-"` 15460 15461 // NullFields is a list of field names (e.g. "Content") to include in 15462 // API requests with the JSON null value. By default, fields with empty 15463 // values are omitted from API requests. However, any field with an 15464 // empty value appearing in NullFields will be sent to the server as 15465 // null. It is an error if a field in this list has a non-empty value. 15466 // This may be used to include null fields in Patch requests. 15467 NullFields []string `json:"-"` 15468} 15469 15470func (s *InputConfig) MarshalJSON() ([]byte, error) { 15471 type NoMethod InputConfig 15472 raw := NoMethod(*s) 15473 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15474} 15475 15476// KeyValue: A product label represented as a key-value pair. 15477type KeyValue struct { 15478 // Key: The key of the label attached to the product. Cannot be empty 15479 // and cannot 15480 // exceed 128 bytes. 15481 Key string `json:"key,omitempty"` 15482 15483 // Value: The value of the label attached to the product. Cannot be 15484 // empty and 15485 // cannot exceed 128 bytes. 15486 Value string `json:"value,omitempty"` 15487 15488 // ForceSendFields is a list of field names (e.g. "Key") to 15489 // unconditionally include in API requests. By default, fields with 15490 // empty values are omitted from API requests. However, any non-pointer, 15491 // non-interface field appearing in ForceSendFields will be sent to the 15492 // server regardless of whether the field is empty or not. This may be 15493 // used to include empty fields in Patch requests. 15494 ForceSendFields []string `json:"-"` 15495 15496 // NullFields is a list of field names (e.g. "Key") to include in API 15497 // requests with the JSON null value. By default, fields with empty 15498 // values are omitted from API requests. However, any field with an 15499 // empty value appearing in NullFields will be sent to the server as 15500 // null. It is an error if a field in this list has a non-empty value. 15501 // This may be used to include null fields in Patch requests. 15502 NullFields []string `json:"-"` 15503} 15504 15505func (s *KeyValue) MarshalJSON() ([]byte, error) { 15506 type NoMethod KeyValue 15507 raw := NoMethod(*s) 15508 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15509} 15510 15511// Landmark: A face-specific landmark (for example, a face feature). 15512type Landmark struct { 15513 // Position: Face landmark position. 15514 Position *Position `json:"position,omitempty"` 15515 15516 // Type: Face landmark type. 15517 // 15518 // Possible values: 15519 // "UNKNOWN_LANDMARK" - Unknown face landmark detected. Should not be 15520 // filled. 15521 // "LEFT_EYE" - Left eye. 15522 // "RIGHT_EYE" - Right eye. 15523 // "LEFT_OF_LEFT_EYEBROW" - Left of left eyebrow. 15524 // "RIGHT_OF_LEFT_EYEBROW" - Right of left eyebrow. 15525 // "LEFT_OF_RIGHT_EYEBROW" - Left of right eyebrow. 15526 // "RIGHT_OF_RIGHT_EYEBROW" - Right of right eyebrow. 15527 // "MIDPOINT_BETWEEN_EYES" - Midpoint between eyes. 15528 // "NOSE_TIP" - Nose tip. 15529 // "UPPER_LIP" - Upper lip. 15530 // "LOWER_LIP" - Lower lip. 15531 // "MOUTH_LEFT" - Mouth left. 15532 // "MOUTH_RIGHT" - Mouth right. 15533 // "MOUTH_CENTER" - Mouth center. 15534 // "NOSE_BOTTOM_RIGHT" - Nose, bottom right. 15535 // "NOSE_BOTTOM_LEFT" - Nose, bottom left. 15536 // "NOSE_BOTTOM_CENTER" - Nose, bottom center. 15537 // "LEFT_EYE_TOP_BOUNDARY" - Left eye, top boundary. 15538 // "LEFT_EYE_RIGHT_CORNER" - Left eye, right corner. 15539 // "LEFT_EYE_BOTTOM_BOUNDARY" - Left eye, bottom boundary. 15540 // "LEFT_EYE_LEFT_CORNER" - Left eye, left corner. 15541 // "RIGHT_EYE_TOP_BOUNDARY" - Right eye, top boundary. 15542 // "RIGHT_EYE_RIGHT_CORNER" - Right eye, right corner. 15543 // "RIGHT_EYE_BOTTOM_BOUNDARY" - Right eye, bottom boundary. 15544 // "RIGHT_EYE_LEFT_CORNER" - Right eye, left corner. 15545 // "LEFT_EYEBROW_UPPER_MIDPOINT" - Left eyebrow, upper midpoint. 15546 // "RIGHT_EYEBROW_UPPER_MIDPOINT" - Right eyebrow, upper midpoint. 15547 // "LEFT_EAR_TRAGION" - Left ear tragion. 15548 // "RIGHT_EAR_TRAGION" - Right ear tragion. 15549 // "LEFT_EYE_PUPIL" - Left eye pupil. 15550 // "RIGHT_EYE_PUPIL" - Right eye pupil. 15551 // "FOREHEAD_GLABELLA" - Forehead glabella. 15552 // "CHIN_GNATHION" - Chin gnathion. 15553 // "CHIN_LEFT_GONION" - Chin left gonion. 15554 // "CHIN_RIGHT_GONION" - Chin right gonion. 15555 Type string `json:"type,omitempty"` 15556 15557 // ForceSendFields is a list of field names (e.g. "Position") to 15558 // unconditionally include in API requests. By default, fields with 15559 // empty values are omitted from API requests. However, any non-pointer, 15560 // non-interface field appearing in ForceSendFields will be sent to the 15561 // server regardless of whether the field is empty or not. This may be 15562 // used to include empty fields in Patch requests. 15563 ForceSendFields []string `json:"-"` 15564 15565 // NullFields is a list of field names (e.g. "Position") to include in 15566 // API requests with the JSON null value. By default, fields with empty 15567 // values are omitted from API requests. However, any field with an 15568 // empty value appearing in NullFields will be sent to the server as 15569 // null. It is an error if a field in this list has a non-empty value. 15570 // This may be used to include null fields in Patch requests. 15571 NullFields []string `json:"-"` 15572} 15573 15574func (s *Landmark) MarshalJSON() ([]byte, error) { 15575 type NoMethod Landmark 15576 raw := NoMethod(*s) 15577 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15578} 15579 15580// LatLng: An object representing a latitude/longitude pair. This is 15581// expressed as a pair 15582// of doubles representing degrees latitude and degrees longitude. 15583// Unless 15584// specified otherwise, this must conform to the 15585// <a 15586// href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 15587// st 15588// andard</a>. Values must be within normalized ranges. 15589type LatLng struct { 15590 // Latitude: The latitude in degrees. It must be in the range [-90.0, 15591 // +90.0]. 15592 Latitude float64 `json:"latitude,omitempty"` 15593 15594 // Longitude: The longitude in degrees. It must be in the range [-180.0, 15595 // +180.0]. 15596 Longitude float64 `json:"longitude,omitempty"` 15597 15598 // ForceSendFields is a list of field names (e.g. "Latitude") to 15599 // unconditionally include in API requests. By default, fields with 15600 // empty values are omitted from API requests. However, any non-pointer, 15601 // non-interface field appearing in ForceSendFields will be sent to the 15602 // server regardless of whether the field is empty or not. This may be 15603 // used to include empty fields in Patch requests. 15604 ForceSendFields []string `json:"-"` 15605 15606 // NullFields is a list of field names (e.g. "Latitude") to include in 15607 // API requests with the JSON null value. By default, fields with empty 15608 // values are omitted from API requests. However, any field with an 15609 // empty value appearing in NullFields will be sent to the server as 15610 // null. It is an error if a field in this list has a non-empty value. 15611 // This may be used to include null fields in Patch requests. 15612 NullFields []string `json:"-"` 15613} 15614 15615func (s *LatLng) MarshalJSON() ([]byte, error) { 15616 type NoMethod LatLng 15617 raw := NoMethod(*s) 15618 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15619} 15620 15621func (s *LatLng) UnmarshalJSON(data []byte) error { 15622 type NoMethod LatLng 15623 var s1 struct { 15624 Latitude gensupport.JSONFloat64 `json:"latitude"` 15625 Longitude gensupport.JSONFloat64 `json:"longitude"` 15626 *NoMethod 15627 } 15628 s1.NoMethod = (*NoMethod)(s) 15629 if err := json.Unmarshal(data, &s1); err != nil { 15630 return err 15631 } 15632 s.Latitude = float64(s1.Latitude) 15633 s.Longitude = float64(s1.Longitude) 15634 return nil 15635} 15636 15637// LocalizedObjectAnnotation: Set of detected objects with bounding 15638// boxes. 15639type LocalizedObjectAnnotation struct { 15640 // BoundingPoly: Image region to which this object belongs. This must be 15641 // populated. 15642 BoundingPoly *BoundingPoly `json:"boundingPoly,omitempty"` 15643 15644 // LanguageCode: The BCP-47 language code, such as "en-US" or "sr-Latn". 15645 // For more 15646 // information, 15647 // see 15648 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 15649 LanguageCode string `json:"languageCode,omitempty"` 15650 15651 // Mid: Object ID that should align with EntityAnnotation mid. 15652 Mid string `json:"mid,omitempty"` 15653 15654 // Name: Object name, expressed in its `language_code` language. 15655 Name string `json:"name,omitempty"` 15656 15657 // Score: Score of the result. Range [0, 1]. 15658 Score float64 `json:"score,omitempty"` 15659 15660 // ForceSendFields is a list of field names (e.g. "BoundingPoly") to 15661 // unconditionally include in API requests. By default, fields with 15662 // empty values are omitted from API requests. However, any non-pointer, 15663 // non-interface field appearing in ForceSendFields will be sent to the 15664 // server regardless of whether the field is empty or not. This may be 15665 // used to include empty fields in Patch requests. 15666 ForceSendFields []string `json:"-"` 15667 15668 // NullFields is a list of field names (e.g. "BoundingPoly") to include 15669 // in API requests with the JSON null value. By default, fields with 15670 // empty values are omitted from API requests. However, any field with 15671 // an empty value appearing in NullFields will be sent to the server as 15672 // null. It is an error if a field in this list has a non-empty value. 15673 // This may be used to include null fields in Patch requests. 15674 NullFields []string `json:"-"` 15675} 15676 15677func (s *LocalizedObjectAnnotation) MarshalJSON() ([]byte, error) { 15678 type NoMethod LocalizedObjectAnnotation 15679 raw := NoMethod(*s) 15680 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15681} 15682 15683func (s *LocalizedObjectAnnotation) UnmarshalJSON(data []byte) error { 15684 type NoMethod LocalizedObjectAnnotation 15685 var s1 struct { 15686 Score gensupport.JSONFloat64 `json:"score"` 15687 *NoMethod 15688 } 15689 s1.NoMethod = (*NoMethod)(s) 15690 if err := json.Unmarshal(data, &s1); err != nil { 15691 return err 15692 } 15693 s.Score = float64(s1.Score) 15694 return nil 15695} 15696 15697// LocationInfo: Detected entity location information. 15698type LocationInfo struct { 15699 // LatLng: lat/long location coordinates. 15700 LatLng *LatLng `json:"latLng,omitempty"` 15701 15702 // ForceSendFields is a list of field names (e.g. "LatLng") to 15703 // unconditionally include in API requests. By default, fields with 15704 // empty values are omitted from API requests. However, any non-pointer, 15705 // non-interface field appearing in ForceSendFields will be sent to the 15706 // server regardless of whether the field is empty or not. This may be 15707 // used to include empty fields in Patch requests. 15708 ForceSendFields []string `json:"-"` 15709 15710 // NullFields is a list of field names (e.g. "LatLng") to include in API 15711 // requests with the JSON null value. By default, fields with empty 15712 // values are omitted from API requests. However, any field with an 15713 // empty value appearing in NullFields will be sent to the server as 15714 // null. It is an error if a field in this list has a non-empty value. 15715 // This may be used to include null fields in Patch requests. 15716 NullFields []string `json:"-"` 15717} 15718 15719func (s *LocationInfo) MarshalJSON() ([]byte, error) { 15720 type NoMethod LocationInfo 15721 raw := NoMethod(*s) 15722 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15723} 15724 15725// NormalizedVertex: A vertex represents a 2D point in the image. 15726// NOTE: the normalized vertex coordinates are relative to the original 15727// image 15728// and range from 0 to 1. 15729type NormalizedVertex struct { 15730 // X: X coordinate. 15731 X float64 `json:"x,omitempty"` 15732 15733 // Y: Y coordinate. 15734 Y float64 `json:"y,omitempty"` 15735 15736 // ForceSendFields is a list of field names (e.g. "X") to 15737 // unconditionally include in API requests. By default, fields with 15738 // empty values are omitted from API requests. However, any non-pointer, 15739 // non-interface field appearing in ForceSendFields will be sent to the 15740 // server regardless of whether the field is empty or not. This may be 15741 // used to include empty fields in Patch requests. 15742 ForceSendFields []string `json:"-"` 15743 15744 // NullFields is a list of field names (e.g. "X") to include in API 15745 // requests with the JSON null value. By default, fields with empty 15746 // values are omitted from API requests. However, any field with an 15747 // empty value appearing in NullFields will be sent to the server as 15748 // null. It is an error if a field in this list has a non-empty value. 15749 // This may be used to include null fields in Patch requests. 15750 NullFields []string `json:"-"` 15751} 15752 15753func (s *NormalizedVertex) MarshalJSON() ([]byte, error) { 15754 type NoMethod NormalizedVertex 15755 raw := NoMethod(*s) 15756 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15757} 15758 15759func (s *NormalizedVertex) UnmarshalJSON(data []byte) error { 15760 type NoMethod NormalizedVertex 15761 var s1 struct { 15762 X gensupport.JSONFloat64 `json:"x"` 15763 Y gensupport.JSONFloat64 `json:"y"` 15764 *NoMethod 15765 } 15766 s1.NoMethod = (*NoMethod)(s) 15767 if err := json.Unmarshal(data, &s1); err != nil { 15768 return err 15769 } 15770 s.X = float64(s1.X) 15771 s.Y = float64(s1.Y) 15772 return nil 15773} 15774 15775// Operation: This resource represents a long-running operation that is 15776// the result of a 15777// network API call. 15778type Operation struct { 15779 // Done: If the value is `false`, it means the operation is still in 15780 // progress. 15781 // If `true`, the operation is completed, and either `error` or 15782 // `response` is 15783 // available. 15784 Done bool `json:"done,omitempty"` 15785 15786 // Error: The error result of the operation in case of failure or 15787 // cancellation. 15788 Error *Status `json:"error,omitempty"` 15789 15790 // Metadata: Service-specific metadata associated with the operation. 15791 // It typically 15792 // contains progress information and common metadata such as create 15793 // time. 15794 // Some services might not provide such metadata. Any method that 15795 // returns a 15796 // long-running operation should document the metadata type, if any. 15797 Metadata googleapi.RawMessage `json:"metadata,omitempty"` 15798 15799 // Name: The server-assigned name, which is only unique within the same 15800 // service that 15801 // originally returns it. If you use the default HTTP mapping, 15802 // the 15803 // `name` should be a resource name ending with 15804 // `operations/{unique_id}`. 15805 Name string `json:"name,omitempty"` 15806 15807 // Response: The normal response of the operation in case of success. 15808 // If the original 15809 // method returns no data on success, such as `Delete`, the response 15810 // is 15811 // `google.protobuf.Empty`. If the original method is 15812 // standard 15813 // `Get`/`Create`/`Update`, the response should be the resource. For 15814 // other 15815 // methods, the response should have the type `XxxResponse`, where 15816 // `Xxx` 15817 // is the original method name. For example, if the original method 15818 // name 15819 // is `TakeSnapshot()`, the inferred response type 15820 // is 15821 // `TakeSnapshotResponse`. 15822 Response googleapi.RawMessage `json:"response,omitempty"` 15823 15824 // ServerResponse contains the HTTP response code and headers from the 15825 // server. 15826 googleapi.ServerResponse `json:"-"` 15827 15828 // ForceSendFields is a list of field names (e.g. "Done") to 15829 // unconditionally include in API requests. By default, fields with 15830 // empty values are omitted from API requests. However, any non-pointer, 15831 // non-interface field appearing in ForceSendFields will be sent to the 15832 // server regardless of whether the field is empty or not. This may be 15833 // used to include empty fields in Patch requests. 15834 ForceSendFields []string `json:"-"` 15835 15836 // NullFields is a list of field names (e.g. "Done") to include in API 15837 // requests with the JSON null value. By default, fields with empty 15838 // values are omitted from API requests. However, any field with an 15839 // empty value appearing in NullFields will be sent to the server as 15840 // null. It is an error if a field in this list has a non-empty value. 15841 // This may be used to include null fields in Patch requests. 15842 NullFields []string `json:"-"` 15843} 15844 15845func (s *Operation) MarshalJSON() ([]byte, error) { 15846 type NoMethod Operation 15847 raw := NoMethod(*s) 15848 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15849} 15850 15851// OperationMetadata: Contains metadata for the BatchAnnotateImages 15852// operation. 15853type OperationMetadata struct { 15854 // CreateTime: The time when the batch request was received. 15855 CreateTime string `json:"createTime,omitempty"` 15856 15857 // State: Current state of the batch operation. 15858 // 15859 // Possible values: 15860 // "STATE_UNSPECIFIED" - Invalid. 15861 // "CREATED" - Request is received. 15862 // "RUNNING" - Request is actively being processed. 15863 // "DONE" - The batch processing is done. 15864 // "CANCELLED" - The batch processing was cancelled. 15865 State string `json:"state,omitempty"` 15866 15867 // UpdateTime: The time when the operation result was last updated. 15868 UpdateTime string `json:"updateTime,omitempty"` 15869 15870 // ForceSendFields is a list of field names (e.g. "CreateTime") to 15871 // unconditionally include in API requests. By default, fields with 15872 // empty values are omitted from API requests. However, any non-pointer, 15873 // non-interface field appearing in ForceSendFields will be sent to the 15874 // server regardless of whether the field is empty or not. This may be 15875 // used to include empty fields in Patch requests. 15876 ForceSendFields []string `json:"-"` 15877 15878 // NullFields is a list of field names (e.g. "CreateTime") to include in 15879 // API requests with the JSON null value. By default, fields with empty 15880 // values are omitted from API requests. However, any field with an 15881 // empty value appearing in NullFields will be sent to the server as 15882 // null. It is an error if a field in this list has a non-empty value. 15883 // This may be used to include null fields in Patch requests. 15884 NullFields []string `json:"-"` 15885} 15886 15887func (s *OperationMetadata) MarshalJSON() ([]byte, error) { 15888 type NoMethod OperationMetadata 15889 raw := NoMethod(*s) 15890 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15891} 15892 15893// OutputConfig: The desired output location and metadata. 15894type OutputConfig struct { 15895 // BatchSize: The max number of response protos to put into each output 15896 // JSON file on 15897 // Google Cloud Storage. 15898 // The valid range is [1, 100]. If not specified, the default value is 15899 // 20. 15900 // 15901 // For example, for one pdf file with 100 pages, 100 response protos 15902 // will 15903 // be generated. If `batch_size` = 20, then 5 json files each 15904 // containing 20 response protos will be written under the 15905 // prefix 15906 // `gcs_destination`.`uri`. 15907 // 15908 // Currently, batch_size only applies to GcsDestination, with potential 15909 // future 15910 // support for other output configurations. 15911 BatchSize int64 `json:"batchSize,omitempty"` 15912 15913 // GcsDestination: The Google Cloud Storage location to write the 15914 // output(s) to. 15915 GcsDestination *GcsDestination `json:"gcsDestination,omitempty"` 15916 15917 // ForceSendFields is a list of field names (e.g. "BatchSize") to 15918 // unconditionally include in API requests. By default, fields with 15919 // empty values are omitted from API requests. However, any non-pointer, 15920 // non-interface field appearing in ForceSendFields will be sent to the 15921 // server regardless of whether the field is empty or not. This may be 15922 // used to include empty fields in Patch requests. 15923 ForceSendFields []string `json:"-"` 15924 15925 // NullFields is a list of field names (e.g. "BatchSize") to include in 15926 // API requests with the JSON null value. By default, fields with empty 15927 // values are omitted from API requests. However, any field with an 15928 // empty value appearing in NullFields will be sent to the server as 15929 // null. It is an error if a field in this list has a non-empty value. 15930 // This may be used to include null fields in Patch requests. 15931 NullFields []string `json:"-"` 15932} 15933 15934func (s *OutputConfig) MarshalJSON() ([]byte, error) { 15935 type NoMethod OutputConfig 15936 raw := NoMethod(*s) 15937 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15938} 15939 15940// Page: Detected page from OCR. 15941type Page struct { 15942 // Blocks: List of blocks of text, images etc on this page. 15943 Blocks []*Block `json:"blocks,omitempty"` 15944 15945 // Confidence: Confidence of the OCR results on the page. Range [0, 1]. 15946 Confidence float64 `json:"confidence,omitempty"` 15947 15948 // Height: Page height. For PDFs the unit is points. For images 15949 // (including 15950 // TIFFs) the unit is pixels. 15951 Height int64 `json:"height,omitempty"` 15952 15953 // Property: Additional information detected on the page. 15954 Property *TextProperty `json:"property,omitempty"` 15955 15956 // Width: Page width. For PDFs the unit is points. For images 15957 // (including 15958 // TIFFs) the unit is pixels. 15959 Width int64 `json:"width,omitempty"` 15960 15961 // ForceSendFields is a list of field names (e.g. "Blocks") to 15962 // unconditionally include in API requests. By default, fields with 15963 // empty values are omitted from API requests. However, any non-pointer, 15964 // non-interface field appearing in ForceSendFields will be sent to the 15965 // server regardless of whether the field is empty or not. This may be 15966 // used to include empty fields in Patch requests. 15967 ForceSendFields []string `json:"-"` 15968 15969 // NullFields is a list of field names (e.g. "Blocks") to include in API 15970 // requests with the JSON null value. By default, fields with empty 15971 // values are omitted from API requests. However, any field with an 15972 // empty value appearing in NullFields will be sent to the server as 15973 // null. It is an error if a field in this list has a non-empty value. 15974 // This may be used to include null fields in Patch requests. 15975 NullFields []string `json:"-"` 15976} 15977 15978func (s *Page) MarshalJSON() ([]byte, error) { 15979 type NoMethod Page 15980 raw := NoMethod(*s) 15981 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 15982} 15983 15984func (s *Page) UnmarshalJSON(data []byte) error { 15985 type NoMethod Page 15986 var s1 struct { 15987 Confidence gensupport.JSONFloat64 `json:"confidence"` 15988 *NoMethod 15989 } 15990 s1.NoMethod = (*NoMethod)(s) 15991 if err := json.Unmarshal(data, &s1); err != nil { 15992 return err 15993 } 15994 s.Confidence = float64(s1.Confidence) 15995 return nil 15996} 15997 15998// Paragraph: Structural unit of text representing a number of words in 15999// certain order. 16000type Paragraph struct { 16001 // BoundingBox: The bounding box for the paragraph. 16002 // The vertices are in the order of top-left, top-right, 16003 // bottom-right, 16004 // bottom-left. When a rotation of the bounding box is detected the 16005 // rotation 16006 // is represented as around the top-left corner as defined when the text 16007 // is 16008 // read in the 'natural' orientation. 16009 // For example: 16010 // * when the text is horizontal it might look like: 16011 // 0----1 16012 // | | 16013 // 3----2 16014 // * when it's rotated 180 degrees around the top-left corner it 16015 // becomes: 16016 // 2----3 16017 // | | 16018 // 1----0 16019 // and the vertex order will still be (0, 1, 2, 3). 16020 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 16021 16022 // Confidence: Confidence of the OCR results for the paragraph. Range 16023 // [0, 1]. 16024 Confidence float64 `json:"confidence,omitempty"` 16025 16026 // Property: Additional information detected for the paragraph. 16027 Property *TextProperty `json:"property,omitempty"` 16028 16029 // Words: List of words in this paragraph. 16030 Words []*Word `json:"words,omitempty"` 16031 16032 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 16033 // unconditionally include in API requests. By default, fields with 16034 // empty values are omitted from API requests. However, any non-pointer, 16035 // non-interface field appearing in ForceSendFields will be sent to the 16036 // server regardless of whether the field is empty or not. This may be 16037 // used to include empty fields in Patch requests. 16038 ForceSendFields []string `json:"-"` 16039 16040 // NullFields is a list of field names (e.g. "BoundingBox") to include 16041 // in API requests with the JSON null value. By default, fields with 16042 // empty values are omitted from API requests. However, any field with 16043 // an empty value appearing in NullFields will be sent to the server as 16044 // null. It is an error if a field in this list has a non-empty value. 16045 // This may be used to include null fields in Patch requests. 16046 NullFields []string `json:"-"` 16047} 16048 16049func (s *Paragraph) MarshalJSON() ([]byte, error) { 16050 type NoMethod Paragraph 16051 raw := NoMethod(*s) 16052 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 16053} 16054 16055func (s *Paragraph) UnmarshalJSON(data []byte) error { 16056 type NoMethod Paragraph 16057 var s1 struct { 16058 Confidence gensupport.JSONFloat64 `json:"confidence"` 16059 *NoMethod 16060 } 16061 s1.NoMethod = (*NoMethod)(s) 16062 if err := json.Unmarshal(data, &s1); err != nil { 16063 return err 16064 } 16065 s.Confidence = float64(s1.Confidence) 16066 return nil 16067} 16068 16069// Position: A 3D position in the image, used primarily for Face 16070// detection landmarks. 16071// A valid Position must have both x and y coordinates. 16072// The position coordinates are in the same scale as the original image. 16073type Position struct { 16074 // X: X coordinate. 16075 X float64 `json:"x,omitempty"` 16076 16077 // Y: Y coordinate. 16078 Y float64 `json:"y,omitempty"` 16079 16080 // Z: Z coordinate (or depth). 16081 Z float64 `json:"z,omitempty"` 16082 16083 // ForceSendFields is a list of field names (e.g. "X") to 16084 // unconditionally include in API requests. By default, fields with 16085 // empty values are omitted from API requests. However, any non-pointer, 16086 // non-interface field appearing in ForceSendFields will be sent to the 16087 // server regardless of whether the field is empty or not. This may be 16088 // used to include empty fields in Patch requests. 16089 ForceSendFields []string `json:"-"` 16090 16091 // NullFields is a list of field names (e.g. "X") to include in API 16092 // requests with the JSON null value. By default, fields with empty 16093 // values are omitted from API requests. However, any field with an 16094 // empty value appearing in NullFields will be sent to the server as 16095 // null. It is an error if a field in this list has a non-empty value. 16096 // This may be used to include null fields in Patch requests. 16097 NullFields []string `json:"-"` 16098} 16099 16100func (s *Position) MarshalJSON() ([]byte, error) { 16101 type NoMethod Position 16102 raw := NoMethod(*s) 16103 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 16104} 16105 16106func (s *Position) UnmarshalJSON(data []byte) error { 16107 type NoMethod Position 16108 var s1 struct { 16109 X gensupport.JSONFloat64 `json:"x"` 16110 Y gensupport.JSONFloat64 `json:"y"` 16111 Z gensupport.JSONFloat64 `json:"z"` 16112 *NoMethod 16113 } 16114 s1.NoMethod = (*NoMethod)(s) 16115 if err := json.Unmarshal(data, &s1); err != nil { 16116 return err 16117 } 16118 s.X = float64(s1.X) 16119 s.Y = float64(s1.Y) 16120 s.Z = float64(s1.Z) 16121 return nil 16122} 16123 16124// Product: A Product contains ReferenceImages. 16125type Product struct { 16126 // Description: User-provided metadata to be stored with this product. 16127 // Must be at most 4096 16128 // characters long. 16129 Description string `json:"description,omitempty"` 16130 16131 // DisplayName: The user-provided name for this Product. Must not be 16132 // empty. Must be at most 16133 // 4096 characters long. 16134 DisplayName string `json:"displayName,omitempty"` 16135 16136 // Name: The resource name of the product. 16137 // 16138 // Format 16139 // is: 16140 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. 16141 // 16142 // This field is ignored when creating a product. 16143 Name string `json:"name,omitempty"` 16144 16145 // ProductCategory: The category for the product identified by the 16146 // reference image. This should 16147 // be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy 16148 // categories 16149 // "homegoods", "apparel", and "toys" are still supported, but these 16150 // should 16151 // not be used for new products. 16152 // 16153 // This field is immutable. 16154 ProductCategory string `json:"productCategory,omitempty"` 16155 16156 // ProductLabels: Key-value pairs that can be attached to a product. At 16157 // query time, 16158 // constraints can be specified based on the product_labels. 16159 // 16160 // Note that integer values can be provided as strings, e.g. "1199". 16161 // Only 16162 // strings with integer values can match a range-based restriction which 16163 // is 16164 // to be supported soon. 16165 // 16166 // Multiple values can be assigned to the same key. One product may have 16167 // up to 16168 // 100 product_labels. 16169 ProductLabels []*KeyValue `json:"productLabels,omitempty"` 16170 16171 // ForceSendFields is a list of field names (e.g. "Description") to 16172 // unconditionally include in API requests. By default, fields with 16173 // empty values are omitted from API requests. However, any non-pointer, 16174 // non-interface field appearing in ForceSendFields will be sent to the 16175 // server regardless of whether the field is empty or not. This may be 16176 // used to include empty fields in Patch requests. 16177 ForceSendFields []string `json:"-"` 16178 16179 // NullFields is a list of field names (e.g. "Description") to include 16180 // in API requests with the JSON null value. By default, fields with 16181 // empty values are omitted from API requests. However, any field with 16182 // an empty value appearing in NullFields will be sent to the server as 16183 // null. It is an error if a field in this list has a non-empty value. 16184 // This may be used to include null fields in Patch requests. 16185 NullFields []string `json:"-"` 16186} 16187 16188func (s *Product) MarshalJSON() ([]byte, error) { 16189 type NoMethod Product 16190 raw := NoMethod(*s) 16191 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 16192} 16193 16194// ProductSearchResults: Results for a product search request. 16195type ProductSearchResults struct { 16196 // IndexTime: Timestamp of the index which provided these results. 16197 // Products added to the 16198 // product set and products removed from the product set after this time 16199 // are 16200 // not reflected in the current results. 16201 IndexTime string `json:"indexTime,omitempty"` 16202 16203 // ProductGroupedResults: List of results grouped by products detected 16204 // in the query image. Each entry 16205 // corresponds to one bounding polygon in the query image, and contains 16206 // the 16207 // matching products specific to that region. There may be duplicate 16208 // product 16209 // matches in the union of all the per-product results. 16210 ProductGroupedResults []*GroupedResult `json:"productGroupedResults,omitempty"` 16211 16212 // Results: List of results, one for each product match. 16213 Results []*Result `json:"results,omitempty"` 16214 16215 // ForceSendFields is a list of field names (e.g. "IndexTime") to 16216 // unconditionally include in API requests. By default, fields with 16217 // empty values are omitted from API requests. However, any non-pointer, 16218 // non-interface field appearing in ForceSendFields will be sent to the 16219 // server regardless of whether the field is empty or not. This may be 16220 // used to include empty fields in Patch requests. 16221 ForceSendFields []string `json:"-"` 16222 16223 // NullFields is a list of field names (e.g. "IndexTime") to include in 16224 // API requests with the JSON null value. By default, fields with empty 16225 // values are omitted from API requests. However, any field with an 16226 // empty value appearing in NullFields will be sent to the server as 16227 // null. It is an error if a field in this list has a non-empty value. 16228 // This may be used to include null fields in Patch requests. 16229 NullFields []string `json:"-"` 16230} 16231 16232func (s *ProductSearchResults) MarshalJSON() ([]byte, error) { 16233 type NoMethod ProductSearchResults 16234 raw := NoMethod(*s) 16235 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 16236} 16237 16238// Property: A `Property` consists of a user-supplied name/value pair. 16239type Property struct { 16240 // Name: Name of the property. 16241 Name string `json:"name,omitempty"` 16242 16243 // Uint64Value: Value of numeric properties. 16244 Uint64Value uint64 `json:"uint64Value,omitempty,string"` 16245 16246 // Value: Value of the property. 16247 Value string `json:"value,omitempty"` 16248 16249 // ForceSendFields is a list of field names (e.g. "Name") to 16250 // unconditionally include in API requests. By default, fields with 16251 // empty values are omitted from API requests. However, any non-pointer, 16252 // non-interface field appearing in ForceSendFields will be sent to the 16253 // server regardless of whether the field is empty or not. This may be 16254 // used to include empty fields in Patch requests. 16255 ForceSendFields []string `json:"-"` 16256 16257 // NullFields is a list of field names (e.g. "Name") to include in API 16258 // requests with the JSON null value. By default, fields with empty 16259 // values are omitted from API requests. However, any field with an 16260 // empty value appearing in NullFields will be sent to the server as 16261 // null. It is an error if a field in this list has a non-empty value. 16262 // This may be used to include null fields in Patch requests. 16263 NullFields []string `json:"-"` 16264} 16265 16266func (s *Property) MarshalJSON() ([]byte, error) { 16267 type NoMethod Property 16268 raw := NoMethod(*s) 16269 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 16270} 16271 16272// ReferenceImage: A `ReferenceImage` represents a product image and its 16273// associated metadata, 16274// such as bounding boxes. 16275type ReferenceImage struct { 16276 // BoundingPolys: Bounding polygons around the areas of interest in the 16277 // reference image. 16278 // Optional. If this field is empty, the system will try to detect 16279 // regions of 16280 // interest. At most 10 bounding polygons will be used. 16281 // 16282 // The provided shape is converted into a non-rotated rectangle. 16283 // Once 16284 // converted, the small edge of the rectangle must be greater than or 16285 // equal 16286 // to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 16287 // 1:5 16288 // is not). 16289 BoundingPolys []*BoundingPoly `json:"boundingPolys,omitempty"` 16290 16291 // Name: The resource name of the reference image. 16292 // 16293 // Format 16294 // is: 16295 // 16296 // `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referen 16297 // ceImages/IMAGE_ID`. 16298 // 16299 // This field is ignored when creating a reference image. 16300 Name string `json:"name,omitempty"` 16301 16302 // Uri: The Google Cloud Storage URI of the reference image. 16303 // 16304 // The URI must start with `gs://`. 16305 // 16306 // Required. 16307 Uri string `json:"uri,omitempty"` 16308 16309 // ForceSendFields is a list of field names (e.g. "BoundingPolys") to 16310 // unconditionally include in API requests. By default, fields with 16311 // empty values are omitted from API requests. However, any non-pointer, 16312 // non-interface field appearing in ForceSendFields will be sent to the 16313 // server regardless of whether the field is empty or not. This may be 16314 // used to include empty fields in Patch requests. 16315 ForceSendFields []string `json:"-"` 16316 16317 // NullFields is a list of field names (e.g. "BoundingPolys") to include 16318 // in API requests with the JSON null value. By default, fields with 16319 // empty values are omitted from API requests. However, any field with 16320 // an empty value appearing in NullFields will be sent to the server as 16321 // null. It is an error if a field in this list has a non-empty value. 16322 // This may be used to include null fields in Patch requests. 16323 NullFields []string `json:"-"` 16324} 16325 16326func (s *ReferenceImage) MarshalJSON() ([]byte, error) { 16327 type NoMethod ReferenceImage 16328 raw := NoMethod(*s) 16329 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 16330} 16331 16332// Result: Information about a product. 16333type Result struct { 16334 // Image: The resource name of the image from the product that is the 16335 // closest match 16336 // to the query. 16337 Image string `json:"image,omitempty"` 16338 16339 // Product: The Product. 16340 Product *Product `json:"product,omitempty"` 16341 16342 // Score: A confidence level on the match, ranging from 0 (no 16343 // confidence) to 16344 // 1 (full confidence). 16345 Score float64 `json:"score,omitempty"` 16346 16347 // ForceSendFields is a list of field names (e.g. "Image") to 16348 // unconditionally include in API requests. By default, fields with 16349 // empty values are omitted from API requests. However, any non-pointer, 16350 // non-interface field appearing in ForceSendFields will be sent to the 16351 // server regardless of whether the field is empty or not. This may be 16352 // used to include empty fields in Patch requests. 16353 ForceSendFields []string `json:"-"` 16354 16355 // NullFields is a list of field names (e.g. "Image") to include in API 16356 // requests with the JSON null value. By default, fields with empty 16357 // values are omitted from API requests. However, any field with an 16358 // empty value appearing in NullFields will be sent to the server as 16359 // null. It is an error if a field in this list has a non-empty value. 16360 // This may be used to include null fields in Patch requests. 16361 NullFields []string `json:"-"` 16362} 16363 16364func (s *Result) MarshalJSON() ([]byte, error) { 16365 type NoMethod Result 16366 raw := NoMethod(*s) 16367 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 16368} 16369 16370func (s *Result) UnmarshalJSON(data []byte) error { 16371 type NoMethod Result 16372 var s1 struct { 16373 Score gensupport.JSONFloat64 `json:"score"` 16374 *NoMethod 16375 } 16376 s1.NoMethod = (*NoMethod)(s) 16377 if err := json.Unmarshal(data, &s1); err != nil { 16378 return err 16379 } 16380 s.Score = float64(s1.Score) 16381 return nil 16382} 16383 16384// SafeSearchAnnotation: Set of features pertaining to the image, 16385// computed by computer vision 16386// methods over safe-search verticals (for example, adult, spoof, 16387// medical, 16388// violence). 16389type SafeSearchAnnotation struct { 16390 // Adult: Represents the adult content likelihood for the image. Adult 16391 // content may 16392 // contain elements such as nudity, pornographic images or cartoons, 16393 // or 16394 // sexual activities. 16395 // 16396 // Possible values: 16397 // "UNKNOWN" - Unknown likelihood. 16398 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 16399 // specified vertical. 16400 // "UNLIKELY" - It is unlikely that the image belongs to the specified 16401 // vertical. 16402 // "POSSIBLE" - It is possible that the image belongs to the specified 16403 // vertical. 16404 // "LIKELY" - It is likely that the image belongs to the specified 16405 // vertical. 16406 // "VERY_LIKELY" - It is very likely that the image belongs to the 16407 // specified vertical. 16408 Adult string `json:"adult,omitempty"` 16409 16410 // Medical: Likelihood that this is a medical image. 16411 // 16412 // Possible values: 16413 // "UNKNOWN" - Unknown likelihood. 16414 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 16415 // specified vertical. 16416 // "UNLIKELY" - It is unlikely that the image belongs to the specified 16417 // vertical. 16418 // "POSSIBLE" - It is possible that the image belongs to the specified 16419 // vertical. 16420 // "LIKELY" - It is likely that the image belongs to the specified 16421 // vertical. 16422 // "VERY_LIKELY" - It is very likely that the image belongs to the 16423 // specified vertical. 16424 Medical string `json:"medical,omitempty"` 16425 16426 // Racy: Likelihood that the request image contains racy content. Racy 16427 // content may 16428 // include (but is not limited to) skimpy or sheer clothing, 16429 // strategically 16430 // covered nudity, lewd or provocative poses, or close-ups of 16431 // sensitive 16432 // body areas. 16433 // 16434 // Possible values: 16435 // "UNKNOWN" - Unknown likelihood. 16436 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 16437 // specified vertical. 16438 // "UNLIKELY" - It is unlikely that the image belongs to the specified 16439 // vertical. 16440 // "POSSIBLE" - It is possible that the image belongs to the specified 16441 // vertical. 16442 // "LIKELY" - It is likely that the image belongs to the specified 16443 // vertical. 16444 // "VERY_LIKELY" - It is very likely that the image belongs to the 16445 // specified vertical. 16446 Racy string `json:"racy,omitempty"` 16447 16448 // Spoof: Spoof likelihood. The likelihood that an modification 16449 // was made to the image's canonical version to make it appear 16450 // funny or offensive. 16451 // 16452 // Possible values: 16453 // "UNKNOWN" - Unknown likelihood. 16454 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 16455 // specified vertical. 16456 // "UNLIKELY" - It is unlikely that the image belongs to the specified 16457 // vertical. 16458 // "POSSIBLE" - It is possible that the image belongs to the specified 16459 // vertical. 16460 // "LIKELY" - It is likely that the image belongs to the specified 16461 // vertical. 16462 // "VERY_LIKELY" - It is very likely that the image belongs to the 16463 // specified vertical. 16464 Spoof string `json:"spoof,omitempty"` 16465 16466 // Violence: Likelihood that this image contains violent content. 16467 // 16468 // Possible values: 16469 // "UNKNOWN" - Unknown likelihood. 16470 // "VERY_UNLIKELY" - It is very unlikely that the image belongs to the 16471 // specified vertical. 16472 // "UNLIKELY" - It is unlikely that the image belongs to the specified 16473 // vertical. 16474 // "POSSIBLE" - It is possible that the image belongs to the specified 16475 // vertical. 16476 // "LIKELY" - It is likely that the image belongs to the specified 16477 // vertical. 16478 // "VERY_LIKELY" - It is very likely that the image belongs to the 16479 // specified vertical. 16480 Violence string `json:"violence,omitempty"` 16481 16482 // ForceSendFields is a list of field names (e.g. "Adult") to 16483 // unconditionally include in API requests. By default, fields with 16484 // empty values are omitted from API requests. However, any non-pointer, 16485 // non-interface field appearing in ForceSendFields will be sent to the 16486 // server regardless of whether the field is empty or not. This may be 16487 // used to include empty fields in Patch requests. 16488 ForceSendFields []string `json:"-"` 16489 16490 // NullFields is a list of field names (e.g. "Adult") to include in API 16491 // requests with the JSON null value. By default, fields with empty 16492 // values are omitted from API requests. However, any field with an 16493 // empty value appearing in NullFields will be sent to the server as 16494 // null. It is an error if a field in this list has a non-empty value. 16495 // This may be used to include null fields in Patch requests. 16496 NullFields []string `json:"-"` 16497} 16498 16499func (s *SafeSearchAnnotation) MarshalJSON() ([]byte, error) { 16500 type NoMethod SafeSearchAnnotation 16501 raw := NoMethod(*s) 16502 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 16503} 16504 16505// Status: The `Status` type defines a logical error model that is 16506// suitable for 16507// different programming environments, including REST APIs and RPC APIs. 16508// It is 16509// used by [gRPC](https://github.com/grpc). Each `Status` message 16510// contains 16511// three pieces of data: error code, error message, and error 16512// details. 16513// 16514// You can find out more about this error model and how to work with it 16515// in the 16516// [API Design Guide](https://cloud.google.com/apis/design/errors). 16517type Status struct { 16518 // Code: The status code, which should be an enum value of 16519 // google.rpc.Code. 16520 Code int64 `json:"code,omitempty"` 16521 16522 // Details: A list of messages that carry the error details. There is a 16523 // common set of 16524 // message types for APIs to use. 16525 Details []googleapi.RawMessage `json:"details,omitempty"` 16526 16527 // Message: A developer-facing error message, which should be in 16528 // English. Any 16529 // user-facing error message should be localized and sent in 16530 // the 16531 // google.rpc.Status.details field, or localized by the client. 16532 Message string `json:"message,omitempty"` 16533 16534 // ForceSendFields is a list of field names (e.g. "Code") to 16535 // unconditionally include in API requests. By default, fields with 16536 // empty values are omitted from API requests. However, any non-pointer, 16537 // non-interface field appearing in ForceSendFields will be sent to the 16538 // server regardless of whether the field is empty or not. This may be 16539 // used to include empty fields in Patch requests. 16540 ForceSendFields []string `json:"-"` 16541 16542 // NullFields is a list of field names (e.g. "Code") to include in API 16543 // requests with the JSON null value. By default, fields with empty 16544 // values are omitted from API requests. However, any field with an 16545 // empty value appearing in NullFields will be sent to the server as 16546 // null. It is an error if a field in this list has a non-empty value. 16547 // This may be used to include null fields in Patch requests. 16548 NullFields []string `json:"-"` 16549} 16550 16551func (s *Status) MarshalJSON() ([]byte, error) { 16552 type NoMethod Status 16553 raw := NoMethod(*s) 16554 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 16555} 16556 16557// Symbol: A single symbol representation. 16558type Symbol struct { 16559 // BoundingBox: The bounding box for the symbol. 16560 // The vertices are in the order of top-left, top-right, 16561 // bottom-right, 16562 // bottom-left. When a rotation of the bounding box is detected the 16563 // rotation 16564 // is represented as around the top-left corner as defined when the text 16565 // is 16566 // read in the 'natural' orientation. 16567 // For example: 16568 // * when the text is horizontal it might look like: 16569 // 0----1 16570 // | | 16571 // 3----2 16572 // * when it's rotated 180 degrees around the top-left corner it 16573 // becomes: 16574 // 2----3 16575 // | | 16576 // 1----0 16577 // and the vertice order will still be (0, 1, 2, 3). 16578 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 16579 16580 // Confidence: Confidence of the OCR results for the symbol. Range [0, 16581 // 1]. 16582 Confidence float64 `json:"confidence,omitempty"` 16583 16584 // Property: Additional information detected for the symbol. 16585 Property *TextProperty `json:"property,omitempty"` 16586 16587 // Text: The actual UTF-8 representation of the symbol. 16588 Text string `json:"text,omitempty"` 16589 16590 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 16591 // unconditionally include in API requests. By default, fields with 16592 // empty values are omitted from API requests. However, any non-pointer, 16593 // non-interface field appearing in ForceSendFields will be sent to the 16594 // server regardless of whether the field is empty or not. This may be 16595 // used to include empty fields in Patch requests. 16596 ForceSendFields []string `json:"-"` 16597 16598 // NullFields is a list of field names (e.g. "BoundingBox") to include 16599 // in API requests with the JSON null value. By default, fields with 16600 // empty values are omitted from API requests. However, any field with 16601 // an empty value appearing in NullFields will be sent to the server as 16602 // null. It is an error if a field in this list has a non-empty value. 16603 // This may be used to include null fields in Patch requests. 16604 NullFields []string `json:"-"` 16605} 16606 16607func (s *Symbol) MarshalJSON() ([]byte, error) { 16608 type NoMethod Symbol 16609 raw := NoMethod(*s) 16610 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 16611} 16612 16613func (s *Symbol) UnmarshalJSON(data []byte) error { 16614 type NoMethod Symbol 16615 var s1 struct { 16616 Confidence gensupport.JSONFloat64 `json:"confidence"` 16617 *NoMethod 16618 } 16619 s1.NoMethod = (*NoMethod)(s) 16620 if err := json.Unmarshal(data, &s1); err != nil { 16621 return err 16622 } 16623 s.Confidence = float64(s1.Confidence) 16624 return nil 16625} 16626 16627// TextAnnotation: TextAnnotation contains a structured representation 16628// of OCR extracted text. 16629// The hierarchy of an OCR extracted text structure is like this: 16630// TextAnnotation -> Page -> Block -> Paragraph -> Word -> 16631// Symbol 16632// Each structural component, starting from Page, may further have their 16633// own 16634// properties. Properties describe detected languages, breaks etc.. 16635// Please refer 16636// to the TextAnnotation.TextProperty message definition below for 16637// more 16638// detail. 16639type TextAnnotation struct { 16640 // Pages: List of pages detected by OCR. 16641 Pages []*Page `json:"pages,omitempty"` 16642 16643 // Text: UTF-8 text detected on the pages. 16644 Text string `json:"text,omitempty"` 16645 16646 // ForceSendFields is a list of field names (e.g. "Pages") to 16647 // unconditionally include in API requests. By default, fields with 16648 // empty values are omitted from API requests. However, any non-pointer, 16649 // non-interface field appearing in ForceSendFields will be sent to the 16650 // server regardless of whether the field is empty or not. This may be 16651 // used to include empty fields in Patch requests. 16652 ForceSendFields []string `json:"-"` 16653 16654 // NullFields is a list of field names (e.g. "Pages") to include in API 16655 // requests with the JSON null value. By default, fields with empty 16656 // values are omitted from API requests. However, any field with an 16657 // empty value appearing in NullFields will be sent to the server as 16658 // null. It is an error if a field in this list has a non-empty value. 16659 // This may be used to include null fields in Patch requests. 16660 NullFields []string `json:"-"` 16661} 16662 16663func (s *TextAnnotation) MarshalJSON() ([]byte, error) { 16664 type NoMethod TextAnnotation 16665 raw := NoMethod(*s) 16666 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 16667} 16668 16669// TextProperty: Additional information detected on the structural 16670// component. 16671type TextProperty struct { 16672 // DetectedBreak: Detected start or end of a text segment. 16673 DetectedBreak *DetectedBreak `json:"detectedBreak,omitempty"` 16674 16675 // DetectedLanguages: A list of detected languages together with 16676 // confidence. 16677 DetectedLanguages []*DetectedLanguage `json:"detectedLanguages,omitempty"` 16678 16679 // ForceSendFields is a list of field names (e.g. "DetectedBreak") to 16680 // unconditionally include in API requests. By default, fields with 16681 // empty values are omitted from API requests. However, any non-pointer, 16682 // non-interface field appearing in ForceSendFields will be sent to the 16683 // server regardless of whether the field is empty or not. This may be 16684 // used to include empty fields in Patch requests. 16685 ForceSendFields []string `json:"-"` 16686 16687 // NullFields is a list of field names (e.g. "DetectedBreak") to include 16688 // in API requests with the JSON null value. By default, fields with 16689 // empty values are omitted from API requests. However, any field with 16690 // an empty value appearing in NullFields will be sent to the server as 16691 // null. It is an error if a field in this list has a non-empty value. 16692 // This may be used to include null fields in Patch requests. 16693 NullFields []string `json:"-"` 16694} 16695 16696func (s *TextProperty) MarshalJSON() ([]byte, error) { 16697 type NoMethod TextProperty 16698 raw := NoMethod(*s) 16699 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 16700} 16701 16702// Vertex: A vertex represents a 2D point in the image. 16703// NOTE: the vertex coordinates are in the same scale as the original 16704// image. 16705type Vertex struct { 16706 // X: X coordinate. 16707 X int64 `json:"x,omitempty"` 16708 16709 // Y: Y coordinate. 16710 Y int64 `json:"y,omitempty"` 16711 16712 // ForceSendFields is a list of field names (e.g. "X") to 16713 // unconditionally include in API requests. By default, fields with 16714 // empty values are omitted from API requests. However, any non-pointer, 16715 // non-interface field appearing in ForceSendFields will be sent to the 16716 // server regardless of whether the field is empty or not. This may be 16717 // used to include empty fields in Patch requests. 16718 ForceSendFields []string `json:"-"` 16719 16720 // NullFields is a list of field names (e.g. "X") to include in API 16721 // requests with the JSON null value. By default, fields with empty 16722 // values are omitted from API requests. However, any field with an 16723 // empty value appearing in NullFields will be sent to the server as 16724 // null. It is an error if a field in this list has a non-empty value. 16725 // This may be used to include null fields in Patch requests. 16726 NullFields []string `json:"-"` 16727} 16728 16729func (s *Vertex) MarshalJSON() ([]byte, error) { 16730 type NoMethod Vertex 16731 raw := NoMethod(*s) 16732 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 16733} 16734 16735// WebDetection: Relevant information for the image from the Internet. 16736type WebDetection struct { 16737 // BestGuessLabels: The service's best guess as to the topic of the 16738 // request image. 16739 // Inferred from similar images on the open web. 16740 BestGuessLabels []*WebLabel `json:"bestGuessLabels,omitempty"` 16741 16742 // FullMatchingImages: Fully matching images from the Internet. 16743 // Can include resized copies of the query image. 16744 FullMatchingImages []*WebImage `json:"fullMatchingImages,omitempty"` 16745 16746 // PagesWithMatchingImages: Web pages containing the matching images 16747 // from the Internet. 16748 PagesWithMatchingImages []*WebPage `json:"pagesWithMatchingImages,omitempty"` 16749 16750 // PartialMatchingImages: Partial matching images from the 16751 // Internet. 16752 // Those images are similar enough to share some key-point features. 16753 // For 16754 // example an original image will likely have partial matching for its 16755 // crops. 16756 PartialMatchingImages []*WebImage `json:"partialMatchingImages,omitempty"` 16757 16758 // VisuallySimilarImages: The visually similar image results. 16759 VisuallySimilarImages []*WebImage `json:"visuallySimilarImages,omitempty"` 16760 16761 // WebEntities: Deduced entities from similar images on the Internet. 16762 WebEntities []*WebEntity `json:"webEntities,omitempty"` 16763 16764 // ForceSendFields is a list of field names (e.g. "BestGuessLabels") to 16765 // unconditionally include in API requests. By default, fields with 16766 // empty values are omitted from API requests. However, any non-pointer, 16767 // non-interface field appearing in ForceSendFields will be sent to the 16768 // server regardless of whether the field is empty or not. This may be 16769 // used to include empty fields in Patch requests. 16770 ForceSendFields []string `json:"-"` 16771 16772 // NullFields is a list of field names (e.g. "BestGuessLabels") to 16773 // include in API requests with the JSON null value. By default, fields 16774 // with empty values are omitted from API requests. However, any field 16775 // with an empty value appearing in NullFields will be sent to the 16776 // server as null. It is an error if a field in this list has a 16777 // non-empty value. This may be used to include null fields in Patch 16778 // requests. 16779 NullFields []string `json:"-"` 16780} 16781 16782func (s *WebDetection) MarshalJSON() ([]byte, error) { 16783 type NoMethod WebDetection 16784 raw := NoMethod(*s) 16785 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 16786} 16787 16788// WebEntity: Entity deduced from similar images on the Internet. 16789type WebEntity struct { 16790 // Description: Canonical description of the entity, in English. 16791 Description string `json:"description,omitempty"` 16792 16793 // EntityId: Opaque entity ID. 16794 EntityId string `json:"entityId,omitempty"` 16795 16796 // Score: Overall relevancy score for the entity. 16797 // Not normalized and not comparable across different image queries. 16798 Score float64 `json:"score,omitempty"` 16799 16800 // ForceSendFields is a list of field names (e.g. "Description") to 16801 // unconditionally include in API requests. By default, fields with 16802 // empty values are omitted from API requests. However, any non-pointer, 16803 // non-interface field appearing in ForceSendFields will be sent to the 16804 // server regardless of whether the field is empty or not. This may be 16805 // used to include empty fields in Patch requests. 16806 ForceSendFields []string `json:"-"` 16807 16808 // NullFields is a list of field names (e.g. "Description") to include 16809 // in API requests with the JSON null value. By default, fields with 16810 // empty values are omitted from API requests. However, any field with 16811 // an empty value appearing in NullFields will be sent to the server as 16812 // null. It is an error if a field in this list has a non-empty value. 16813 // This may be used to include null fields in Patch requests. 16814 NullFields []string `json:"-"` 16815} 16816 16817func (s *WebEntity) MarshalJSON() ([]byte, error) { 16818 type NoMethod WebEntity 16819 raw := NoMethod(*s) 16820 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 16821} 16822 16823func (s *WebEntity) UnmarshalJSON(data []byte) error { 16824 type NoMethod WebEntity 16825 var s1 struct { 16826 Score gensupport.JSONFloat64 `json:"score"` 16827 *NoMethod 16828 } 16829 s1.NoMethod = (*NoMethod)(s) 16830 if err := json.Unmarshal(data, &s1); err != nil { 16831 return err 16832 } 16833 s.Score = float64(s1.Score) 16834 return nil 16835} 16836 16837// WebImage: Metadata for online images. 16838type WebImage struct { 16839 // Score: (Deprecated) Overall relevancy score for the image. 16840 Score float64 `json:"score,omitempty"` 16841 16842 // Url: The result image URL. 16843 Url string `json:"url,omitempty"` 16844 16845 // ForceSendFields is a list of field names (e.g. "Score") to 16846 // unconditionally include in API requests. By default, fields with 16847 // empty values are omitted from API requests. However, any non-pointer, 16848 // non-interface field appearing in ForceSendFields will be sent to the 16849 // server regardless of whether the field is empty or not. This may be 16850 // used to include empty fields in Patch requests. 16851 ForceSendFields []string `json:"-"` 16852 16853 // NullFields is a list of field names (e.g. "Score") to include in API 16854 // requests with the JSON null value. By default, fields with empty 16855 // values are omitted from API requests. However, any field with an 16856 // empty value appearing in NullFields will be sent to the server as 16857 // null. It is an error if a field in this list has a non-empty value. 16858 // This may be used to include null fields in Patch requests. 16859 NullFields []string `json:"-"` 16860} 16861 16862func (s *WebImage) MarshalJSON() ([]byte, error) { 16863 type NoMethod WebImage 16864 raw := NoMethod(*s) 16865 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 16866} 16867 16868func (s *WebImage) UnmarshalJSON(data []byte) error { 16869 type NoMethod WebImage 16870 var s1 struct { 16871 Score gensupport.JSONFloat64 `json:"score"` 16872 *NoMethod 16873 } 16874 s1.NoMethod = (*NoMethod)(s) 16875 if err := json.Unmarshal(data, &s1); err != nil { 16876 return err 16877 } 16878 s.Score = float64(s1.Score) 16879 return nil 16880} 16881 16882// WebLabel: Label to provide extra metadata for the web detection. 16883type WebLabel struct { 16884 // Label: Label for extra metadata. 16885 Label string `json:"label,omitempty"` 16886 16887 // LanguageCode: The BCP-47 language code for `label`, such as "en-US" 16888 // or "sr-Latn". 16889 // For more information, 16890 // see 16891 // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 16892 LanguageCode string `json:"languageCode,omitempty"` 16893 16894 // ForceSendFields is a list of field names (e.g. "Label") to 16895 // unconditionally include in API requests. By default, fields with 16896 // empty values are omitted from API requests. However, any non-pointer, 16897 // non-interface field appearing in ForceSendFields will be sent to the 16898 // server regardless of whether the field is empty or not. This may be 16899 // used to include empty fields in Patch requests. 16900 ForceSendFields []string `json:"-"` 16901 16902 // NullFields is a list of field names (e.g. "Label") to include in API 16903 // requests with the JSON null value. By default, fields with empty 16904 // values are omitted from API requests. However, any field with an 16905 // empty value appearing in NullFields will be sent to the server as 16906 // null. It is an error if a field in this list has a non-empty value. 16907 // This may be used to include null fields in Patch requests. 16908 NullFields []string `json:"-"` 16909} 16910 16911func (s *WebLabel) MarshalJSON() ([]byte, error) { 16912 type NoMethod WebLabel 16913 raw := NoMethod(*s) 16914 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 16915} 16916 16917// WebPage: Metadata for web pages. 16918type WebPage struct { 16919 // FullMatchingImages: Fully matching images on the page. 16920 // Can include resized copies of the query image. 16921 FullMatchingImages []*WebImage `json:"fullMatchingImages,omitempty"` 16922 16923 // PageTitle: Title for the web page, may contain HTML markups. 16924 PageTitle string `json:"pageTitle,omitempty"` 16925 16926 // PartialMatchingImages: Partial matching images on the page. 16927 // Those images are similar enough to share some key-point features. 16928 // For 16929 // example an original image will likely have partial matching for 16930 // its 16931 // crops. 16932 PartialMatchingImages []*WebImage `json:"partialMatchingImages,omitempty"` 16933 16934 // Score: (Deprecated) Overall relevancy score for the web page. 16935 Score float64 `json:"score,omitempty"` 16936 16937 // Url: The result web page URL. 16938 Url string `json:"url,omitempty"` 16939 16940 // ForceSendFields is a list of field names (e.g. "FullMatchingImages") 16941 // to unconditionally include in API requests. By default, fields with 16942 // empty values are omitted from API requests. However, any non-pointer, 16943 // non-interface field appearing in ForceSendFields will be sent to the 16944 // server regardless of whether the field is empty or not. This may be 16945 // used to include empty fields in Patch requests. 16946 ForceSendFields []string `json:"-"` 16947 16948 // NullFields is a list of field names (e.g. "FullMatchingImages") to 16949 // include in API requests with the JSON null value. By default, fields 16950 // with empty values are omitted from API requests. However, any field 16951 // with an empty value appearing in NullFields will be sent to the 16952 // server as null. It is an error if a field in this list has a 16953 // non-empty value. This may be used to include null fields in Patch 16954 // requests. 16955 NullFields []string `json:"-"` 16956} 16957 16958func (s *WebPage) MarshalJSON() ([]byte, error) { 16959 type NoMethod WebPage 16960 raw := NoMethod(*s) 16961 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 16962} 16963 16964func (s *WebPage) UnmarshalJSON(data []byte) error { 16965 type NoMethod WebPage 16966 var s1 struct { 16967 Score gensupport.JSONFloat64 `json:"score"` 16968 *NoMethod 16969 } 16970 s1.NoMethod = (*NoMethod)(s) 16971 if err := json.Unmarshal(data, &s1); err != nil { 16972 return err 16973 } 16974 s.Score = float64(s1.Score) 16975 return nil 16976} 16977 16978// Word: A word representation. 16979type Word struct { 16980 // BoundingBox: The bounding box for the word. 16981 // The vertices are in the order of top-left, top-right, 16982 // bottom-right, 16983 // bottom-left. When a rotation of the bounding box is detected the 16984 // rotation 16985 // is represented as around the top-left corner as defined when the text 16986 // is 16987 // read in the 'natural' orientation. 16988 // For example: 16989 // * when the text is horizontal it might look like: 16990 // 0----1 16991 // | | 16992 // 3----2 16993 // * when it's rotated 180 degrees around the top-left corner it 16994 // becomes: 16995 // 2----3 16996 // | | 16997 // 1----0 16998 // and the vertex order will still be (0, 1, 2, 3). 16999 BoundingBox *BoundingPoly `json:"boundingBox,omitempty"` 17000 17001 // Confidence: Confidence of the OCR results for the word. Range [0, 1]. 17002 Confidence float64 `json:"confidence,omitempty"` 17003 17004 // Property: Additional information detected for the word. 17005 Property *TextProperty `json:"property,omitempty"` 17006 17007 // Symbols: List of symbols in the word. 17008 // The order of the symbols follows the natural reading order. 17009 Symbols []*Symbol `json:"symbols,omitempty"` 17010 17011 // ForceSendFields is a list of field names (e.g. "BoundingBox") to 17012 // unconditionally include in API requests. By default, fields with 17013 // empty values are omitted from API requests. However, any non-pointer, 17014 // non-interface field appearing in ForceSendFields will be sent to the 17015 // server regardless of whether the field is empty or not. This may be 17016 // used to include empty fields in Patch requests. 17017 ForceSendFields []string `json:"-"` 17018 17019 // NullFields is a list of field names (e.g. "BoundingBox") to include 17020 // in API requests with the JSON null value. By default, fields with 17021 // empty values are omitted from API requests. However, any field with 17022 // an empty value appearing in NullFields will be sent to the server as 17023 // null. It is an error if a field in this list has a non-empty value. 17024 // This may be used to include null fields in Patch requests. 17025 NullFields []string `json:"-"` 17026} 17027 17028func (s *Word) MarshalJSON() ([]byte, error) { 17029 type NoMethod Word 17030 raw := NoMethod(*s) 17031 return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) 17032} 17033 17034func (s *Word) UnmarshalJSON(data []byte) error { 17035 type NoMethod Word 17036 var s1 struct { 17037 Confidence gensupport.JSONFloat64 `json:"confidence"` 17038 *NoMethod 17039 } 17040 s1.NoMethod = (*NoMethod)(s) 17041 if err := json.Unmarshal(data, &s1); err != nil { 17042 return err 17043 } 17044 s.Confidence = float64(s1.Confidence) 17045 return nil 17046} 17047 17048// method id "vision.files.annotate": 17049 17050type FilesAnnotateCall struct { 17051 s *Service 17052 googlecloudvisionv1p2beta1batchannotatefilesrequest *GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest 17053 urlParams_ gensupport.URLParams 17054 ctx_ context.Context 17055 header_ http.Header 17056} 17057 17058// Annotate: Service that performs image detection and annotation for a 17059// batch of files. 17060// Now only "application/pdf", "image/tiff" and "image/gif" are 17061// supported. 17062// 17063// This service will extract at most 5 (customers can specify which 5 17064// in 17065// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from 17066// each 17067// file provided and perform detection and annotation for each 17068// image 17069// extracted. 17070func (r *FilesService) Annotate(googlecloudvisionv1p2beta1batchannotatefilesrequest *GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest) *FilesAnnotateCall { 17071 c := &FilesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17072 c.googlecloudvisionv1p2beta1batchannotatefilesrequest = googlecloudvisionv1p2beta1batchannotatefilesrequest 17073 return c 17074} 17075 17076// Fields allows partial responses to be retrieved. See 17077// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17078// for more information. 17079func (c *FilesAnnotateCall) Fields(s ...googleapi.Field) *FilesAnnotateCall { 17080 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17081 return c 17082} 17083 17084// Context sets the context to be used in this call's Do method. Any 17085// pending HTTP request will be aborted if the provided context is 17086// canceled. 17087func (c *FilesAnnotateCall) Context(ctx context.Context) *FilesAnnotateCall { 17088 c.ctx_ = ctx 17089 return c 17090} 17091 17092// Header returns an http.Header that can be modified by the caller to 17093// add HTTP headers to the request. 17094func (c *FilesAnnotateCall) Header() http.Header { 17095 if c.header_ == nil { 17096 c.header_ = make(http.Header) 17097 } 17098 return c.header_ 17099} 17100 17101func (c *FilesAnnotateCall) doRequest(alt string) (*http.Response, error) { 17102 reqHeaders := make(http.Header) 17103 for k, v := range c.header_ { 17104 reqHeaders[k] = v 17105 } 17106 reqHeaders.Set("User-Agent", c.s.userAgent()) 17107 var body io.Reader = nil 17108 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p2beta1batchannotatefilesrequest) 17109 if err != nil { 17110 return nil, err 17111 } 17112 reqHeaders.Set("Content-Type", "application/json") 17113 c.urlParams_.Set("alt", alt) 17114 c.urlParams_.Set("prettyPrint", "false") 17115 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p2beta1/files:annotate") 17116 urls += "?" + c.urlParams_.Encode() 17117 req, err := http.NewRequest("POST", urls, body) 17118 if err != nil { 17119 return nil, err 17120 } 17121 req.Header = reqHeaders 17122 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17123} 17124 17125// Do executes the "vision.files.annotate" call. 17126// Exactly one of *GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse 17127// or error will be non-nil. Any non-2xx status code is an error. 17128// Response headers are in either 17129// *GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse.ServerResponse.H 17130// eader or (if a response was returned at all) in 17131// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 17132// whether the returned error was because http.StatusNotModified was 17133// returned. 17134func (c *FilesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse, error) { 17135 gensupport.SetOptions(c.urlParams_, opts...) 17136 res, err := c.doRequest("json") 17137 if res != nil && res.StatusCode == http.StatusNotModified { 17138 if res.Body != nil { 17139 res.Body.Close() 17140 } 17141 return nil, &googleapi.Error{ 17142 Code: res.StatusCode, 17143 Header: res.Header, 17144 } 17145 } 17146 if err != nil { 17147 return nil, err 17148 } 17149 defer googleapi.CloseBody(res) 17150 if err := googleapi.CheckResponse(res); err != nil { 17151 return nil, err 17152 } 17153 ret := &GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse{ 17154 ServerResponse: googleapi.ServerResponse{ 17155 Header: res.Header, 17156 HTTPStatusCode: res.StatusCode, 17157 }, 17158 } 17159 target := &ret 17160 if err := gensupport.DecodeResponse(target, res); err != nil { 17161 return nil, err 17162 } 17163 return ret, nil 17164 // { 17165 // "description": "Service that performs image detection and annotation for a batch of files.\nNow only \"application/pdf\", \"image/tiff\" and \"image/gif\" are supported.\n\nThis service will extract at most 5 (customers can specify which 5 in\nAnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each\nfile provided and perform detection and annotation for each image\nextracted.", 17166 // "flatPath": "v1p2beta1/files:annotate", 17167 // "httpMethod": "POST", 17168 // "id": "vision.files.annotate", 17169 // "parameterOrder": [], 17170 // "parameters": {}, 17171 // "path": "v1p2beta1/files:annotate", 17172 // "request": { 17173 // "$ref": "GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest" 17174 // }, 17175 // "response": { 17176 // "$ref": "GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse" 17177 // }, 17178 // "scopes": [ 17179 // "https://www.googleapis.com/auth/cloud-platform", 17180 // "https://www.googleapis.com/auth/cloud-vision" 17181 // ] 17182 // } 17183 17184} 17185 17186// method id "vision.files.asyncBatchAnnotate": 17187 17188type FilesAsyncBatchAnnotateCall struct { 17189 s *Service 17190 googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest 17191 urlParams_ gensupport.URLParams 17192 ctx_ context.Context 17193 header_ http.Header 17194} 17195 17196// AsyncBatchAnnotate: Run asynchronous image detection and annotation 17197// for a list of generic 17198// files, such as PDF files, which may contain multiple pages and 17199// multiple 17200// images per page. Progress and results can be retrieved through 17201// the 17202// `google.longrunning.Operations` interface. 17203// `Operation.metadata` contains `OperationMetadata` 17204// (metadata). 17205// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` 17206// (results). 17207func (r *FilesService) AsyncBatchAnnotate(googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest) *FilesAsyncBatchAnnotateCall { 17208 c := &FilesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17209 c.googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest = googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest 17210 return c 17211} 17212 17213// Fields allows partial responses to be retrieved. See 17214// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17215// for more information. 17216func (c *FilesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *FilesAsyncBatchAnnotateCall { 17217 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17218 return c 17219} 17220 17221// Context sets the context to be used in this call's Do method. Any 17222// pending HTTP request will be aborted if the provided context is 17223// canceled. 17224func (c *FilesAsyncBatchAnnotateCall) Context(ctx context.Context) *FilesAsyncBatchAnnotateCall { 17225 c.ctx_ = ctx 17226 return c 17227} 17228 17229// Header returns an http.Header that can be modified by the caller to 17230// add HTTP headers to the request. 17231func (c *FilesAsyncBatchAnnotateCall) Header() http.Header { 17232 if c.header_ == nil { 17233 c.header_ = make(http.Header) 17234 } 17235 return c.header_ 17236} 17237 17238func (c *FilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 17239 reqHeaders := make(http.Header) 17240 for k, v := range c.header_ { 17241 reqHeaders[k] = v 17242 } 17243 reqHeaders.Set("User-Agent", c.s.userAgent()) 17244 var body io.Reader = nil 17245 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p2beta1asyncbatchannotatefilesrequest) 17246 if err != nil { 17247 return nil, err 17248 } 17249 reqHeaders.Set("Content-Type", "application/json") 17250 c.urlParams_.Set("alt", alt) 17251 c.urlParams_.Set("prettyPrint", "false") 17252 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p2beta1/files:asyncBatchAnnotate") 17253 urls += "?" + c.urlParams_.Encode() 17254 req, err := http.NewRequest("POST", urls, body) 17255 if err != nil { 17256 return nil, err 17257 } 17258 req.Header = reqHeaders 17259 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17260} 17261 17262// Do executes the "vision.files.asyncBatchAnnotate" call. 17263// Exactly one of *Operation or error will be non-nil. Any non-2xx 17264// status code is an error. Response headers are in either 17265// *Operation.ServerResponse.Header or (if a response was returned at 17266// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 17267// to check whether the returned error was because 17268// http.StatusNotModified was returned. 17269func (c *FilesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 17270 gensupport.SetOptions(c.urlParams_, opts...) 17271 res, err := c.doRequest("json") 17272 if res != nil && res.StatusCode == http.StatusNotModified { 17273 if res.Body != nil { 17274 res.Body.Close() 17275 } 17276 return nil, &googleapi.Error{ 17277 Code: res.StatusCode, 17278 Header: res.Header, 17279 } 17280 } 17281 if err != nil { 17282 return nil, err 17283 } 17284 defer googleapi.CloseBody(res) 17285 if err := googleapi.CheckResponse(res); err != nil { 17286 return nil, err 17287 } 17288 ret := &Operation{ 17289 ServerResponse: googleapi.ServerResponse{ 17290 Header: res.Header, 17291 HTTPStatusCode: res.StatusCode, 17292 }, 17293 } 17294 target := &ret 17295 if err := gensupport.DecodeResponse(target, res); err != nil { 17296 return nil, err 17297 } 17298 return ret, nil 17299 // { 17300 // "description": "Run asynchronous image detection and annotation for a list of generic\nfiles, such as PDF files, which may contain multiple pages and multiple\nimages per page. Progress and results can be retrieved through the\n`google.longrunning.Operations` interface.\n`Operation.metadata` contains `OperationMetadata` (metadata).\n`Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).", 17301 // "flatPath": "v1p2beta1/files:asyncBatchAnnotate", 17302 // "httpMethod": "POST", 17303 // "id": "vision.files.asyncBatchAnnotate", 17304 // "parameterOrder": [], 17305 // "parameters": {}, 17306 // "path": "v1p2beta1/files:asyncBatchAnnotate", 17307 // "request": { 17308 // "$ref": "GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesRequest" 17309 // }, 17310 // "response": { 17311 // "$ref": "Operation" 17312 // }, 17313 // "scopes": [ 17314 // "https://www.googleapis.com/auth/cloud-platform", 17315 // "https://www.googleapis.com/auth/cloud-vision" 17316 // ] 17317 // } 17318 17319} 17320 17321// method id "vision.images.annotate": 17322 17323type ImagesAnnotateCall struct { 17324 s *Service 17325 googlecloudvisionv1p2beta1batchannotateimagesrequest *GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest 17326 urlParams_ gensupport.URLParams 17327 ctx_ context.Context 17328 header_ http.Header 17329} 17330 17331// Annotate: Run image detection and annotation for a batch of images. 17332func (r *ImagesService) Annotate(googlecloudvisionv1p2beta1batchannotateimagesrequest *GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest) *ImagesAnnotateCall { 17333 c := &ImagesAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17334 c.googlecloudvisionv1p2beta1batchannotateimagesrequest = googlecloudvisionv1p2beta1batchannotateimagesrequest 17335 return c 17336} 17337 17338// Fields allows partial responses to be retrieved. See 17339// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17340// for more information. 17341func (c *ImagesAnnotateCall) Fields(s ...googleapi.Field) *ImagesAnnotateCall { 17342 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17343 return c 17344} 17345 17346// Context sets the context to be used in this call's Do method. Any 17347// pending HTTP request will be aborted if the provided context is 17348// canceled. 17349func (c *ImagesAnnotateCall) Context(ctx context.Context) *ImagesAnnotateCall { 17350 c.ctx_ = ctx 17351 return c 17352} 17353 17354// Header returns an http.Header that can be modified by the caller to 17355// add HTTP headers to the request. 17356func (c *ImagesAnnotateCall) Header() http.Header { 17357 if c.header_ == nil { 17358 c.header_ = make(http.Header) 17359 } 17360 return c.header_ 17361} 17362 17363func (c *ImagesAnnotateCall) doRequest(alt string) (*http.Response, error) { 17364 reqHeaders := make(http.Header) 17365 for k, v := range c.header_ { 17366 reqHeaders[k] = v 17367 } 17368 reqHeaders.Set("User-Agent", c.s.userAgent()) 17369 var body io.Reader = nil 17370 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p2beta1batchannotateimagesrequest) 17371 if err != nil { 17372 return nil, err 17373 } 17374 reqHeaders.Set("Content-Type", "application/json") 17375 c.urlParams_.Set("alt", alt) 17376 c.urlParams_.Set("prettyPrint", "false") 17377 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p2beta1/images:annotate") 17378 urls += "?" + c.urlParams_.Encode() 17379 req, err := http.NewRequest("POST", urls, body) 17380 if err != nil { 17381 return nil, err 17382 } 17383 req.Header = reqHeaders 17384 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17385} 17386 17387// Do executes the "vision.images.annotate" call. 17388// Exactly one of *GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse 17389// or error will be non-nil. Any non-2xx status code is an error. 17390// Response headers are in either 17391// *GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse.ServerResponse. 17392// Header or (if a response was returned at all) in 17393// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check 17394// whether the returned error was because http.StatusNotModified was 17395// returned. 17396func (c *ImagesAnnotateCall) Do(opts ...googleapi.CallOption) (*GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse, error) { 17397 gensupport.SetOptions(c.urlParams_, opts...) 17398 res, err := c.doRequest("json") 17399 if res != nil && res.StatusCode == http.StatusNotModified { 17400 if res.Body != nil { 17401 res.Body.Close() 17402 } 17403 return nil, &googleapi.Error{ 17404 Code: res.StatusCode, 17405 Header: res.Header, 17406 } 17407 } 17408 if err != nil { 17409 return nil, err 17410 } 17411 defer googleapi.CloseBody(res) 17412 if err := googleapi.CheckResponse(res); err != nil { 17413 return nil, err 17414 } 17415 ret := &GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse{ 17416 ServerResponse: googleapi.ServerResponse{ 17417 Header: res.Header, 17418 HTTPStatusCode: res.StatusCode, 17419 }, 17420 } 17421 target := &ret 17422 if err := gensupport.DecodeResponse(target, res); err != nil { 17423 return nil, err 17424 } 17425 return ret, nil 17426 // { 17427 // "description": "Run image detection and annotation for a batch of images.", 17428 // "flatPath": "v1p2beta1/images:annotate", 17429 // "httpMethod": "POST", 17430 // "id": "vision.images.annotate", 17431 // "parameterOrder": [], 17432 // "parameters": {}, 17433 // "path": "v1p2beta1/images:annotate", 17434 // "request": { 17435 // "$ref": "GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest" 17436 // }, 17437 // "response": { 17438 // "$ref": "GoogleCloudVisionV1p2beta1BatchAnnotateImagesResponse" 17439 // }, 17440 // "scopes": [ 17441 // "https://www.googleapis.com/auth/cloud-platform", 17442 // "https://www.googleapis.com/auth/cloud-vision" 17443 // ] 17444 // } 17445 17446} 17447 17448// method id "vision.images.asyncBatchAnnotate": 17449 17450type ImagesAsyncBatchAnnotateCall struct { 17451 s *Service 17452 googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest 17453 urlParams_ gensupport.URLParams 17454 ctx_ context.Context 17455 header_ http.Header 17456} 17457 17458// AsyncBatchAnnotate: Run asynchronous image detection and annotation 17459// for a list of images. 17460// 17461// Progress and results can be retrieved through 17462// the 17463// `google.longrunning.Operations` interface. 17464// `Operation.metadata` contains `OperationMetadata` 17465// (metadata). 17466// `Operation.response` contains `AsyncBatchAnnotateImagesResponse` 17467// (results). 17468// 17469// This service will write image annotation outputs to json files in 17470// customer 17471// GCS bucket, each json file containing BatchAnnotateImagesResponse 17472// proto. 17473func (r *ImagesService) AsyncBatchAnnotate(googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest *GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest) *ImagesAsyncBatchAnnotateCall { 17474 c := &ImagesAsyncBatchAnnotateCall{s: r.s, urlParams_: make(gensupport.URLParams)} 17475 c.googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest = googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest 17476 return c 17477} 17478 17479// Fields allows partial responses to be retrieved. See 17480// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse 17481// for more information. 17482func (c *ImagesAsyncBatchAnnotateCall) Fields(s ...googleapi.Field) *ImagesAsyncBatchAnnotateCall { 17483 c.urlParams_.Set("fields", googleapi.CombineFields(s)) 17484 return c 17485} 17486 17487// Context sets the context to be used in this call's Do method. Any 17488// pending HTTP request will be aborted if the provided context is 17489// canceled. 17490func (c *ImagesAsyncBatchAnnotateCall) Context(ctx context.Context) *ImagesAsyncBatchAnnotateCall { 17491 c.ctx_ = ctx 17492 return c 17493} 17494 17495// Header returns an http.Header that can be modified by the caller to 17496// add HTTP headers to the request. 17497func (c *ImagesAsyncBatchAnnotateCall) Header() http.Header { 17498 if c.header_ == nil { 17499 c.header_ = make(http.Header) 17500 } 17501 return c.header_ 17502} 17503 17504func (c *ImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) { 17505 reqHeaders := make(http.Header) 17506 for k, v := range c.header_ { 17507 reqHeaders[k] = v 17508 } 17509 reqHeaders.Set("User-Agent", c.s.userAgent()) 17510 var body io.Reader = nil 17511 body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudvisionv1p2beta1asyncbatchannotateimagesrequest) 17512 if err != nil { 17513 return nil, err 17514 } 17515 reqHeaders.Set("Content-Type", "application/json") 17516 c.urlParams_.Set("alt", alt) 17517 c.urlParams_.Set("prettyPrint", "false") 17518 urls := googleapi.ResolveRelative(c.s.BasePath, "v1p2beta1/images:asyncBatchAnnotate") 17519 urls += "?" + c.urlParams_.Encode() 17520 req, err := http.NewRequest("POST", urls, body) 17521 if err != nil { 17522 return nil, err 17523 } 17524 req.Header = reqHeaders 17525 return gensupport.SendRequest(c.ctx_, c.s.client, req) 17526} 17527 17528// Do executes the "vision.images.asyncBatchAnnotate" call. 17529// Exactly one of *Operation or error will be non-nil. Any non-2xx 17530// status code is an error. Response headers are in either 17531// *Operation.ServerResponse.Header or (if a response was returned at 17532// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified 17533// to check whether the returned error was because 17534// http.StatusNotModified was returned. 17535func (c *ImagesAsyncBatchAnnotateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { 17536 gensupport.SetOptions(c.urlParams_, opts...) 17537 res, err := c.doRequest("json") 17538 if res != nil && res.StatusCode == http.StatusNotModified { 17539 if res.Body != nil { 17540 res.Body.Close() 17541 } 17542 return nil, &googleapi.Error{ 17543 Code: res.StatusCode, 17544 Header: res.Header, 17545 } 17546 } 17547 if err != nil { 17548 return nil, err 17549 } 17550 defer googleapi.CloseBody(res) 17551 if err := googleapi.CheckResponse(res); err != nil { 17552 return nil, err 17553 } 17554 ret := &Operation{ 17555 ServerResponse: googleapi.ServerResponse{ 17556 Header: res.Header, 17557 HTTPStatusCode: res.StatusCode, 17558 }, 17559 } 17560 target := &ret 17561 if err := gensupport.DecodeResponse(target, res); err != nil { 17562 return nil, err 17563 } 17564 return ret, nil 17565 // { 17566 // "description": "Run asynchronous image detection and annotation for a list of images.\n\nProgress and results can be retrieved through the\n`google.longrunning.Operations` interface.\n`Operation.metadata` contains `OperationMetadata` (metadata).\n`Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results).\n\nThis service will write image annotation outputs to json files in customer\nGCS bucket, each json file containing BatchAnnotateImagesResponse proto.", 17567 // "flatPath": "v1p2beta1/images:asyncBatchAnnotate", 17568 // "httpMethod": "POST", 17569 // "id": "vision.images.asyncBatchAnnotate", 17570 // "parameterOrder": [], 17571 // "parameters": {}, 17572 // "path": "v1p2beta1/images:asyncBatchAnnotate", 17573 // "request": { 17574 // "$ref": "GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest" 17575 // }, 17576 // "response": { 17577 // "$ref": "Operation" 17578 // }, 17579 // "scopes": [ 17580 // "https://www.googleapis.com/auth/cloud-platform", 17581 // "https://www.googleapis.com/auth/cloud-vision" 17582 // ] 17583 // } 17584 17585} 17586