UNPKG

openapi-directory

Version:

Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS

1 lines 180 kB
{"openapi":"3.0.0","x-hasEquivalentPaths":true,"info":{"contact":{"name":"Google","url":"https://google.com"},"description":"Integrates Google Vision features, including image labeling, face, logo, and landmark detection, optical character recognition (OCR), and detection of explicit content, into applications.","title":"Cloud Vision","version":"v1","x-apiClientRegistration":{"url":"https://console.developers.google.com"},"x-apisguru-categories":["machine_learning","analytics"],"x-logo":{"url":"https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"},"x-origin":[{"converter":{"url":"https://github.com/lucybot/api-spec-converter","version":"2.7.18"},"format":"google","url":"https://vision.googleapis.com/$discovery/rest?version=v1","version":"v1"}],"x-preferred":true,"x-providerName":"googleapis.com","x-serviceName":"vision"},"externalDocs":{"url":"https://cloud.google.com/vision/"},"tags":[{"name":"files"},{"name":"images"},{"name":"locations"},{"name":"operations"},{"name":"projects"}],"paths":{"/v1/files:asyncBatchAnnotate":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"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).","operationId":"vision.files.asyncBatchAnnotate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncBatchAnnotateFilesRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-vision"]}],"tags":["files"]}},"/v1/images:annotate":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Run image detection and annotation for a batch of images.","operationId":"vision.images.annotate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchAnnotateImagesRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BatchAnnotateImagesResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-vision"]}],"tags":["images"]}},"/v1/{name}":{"delete":{"description":"Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.","operationId":"vision.operations.delete","parameters":[{"description":"The name of the operation resource to be deleted.","in":"path","name":"name","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Empty"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-vision"]}],"tags":["operations"]},"get":{"description":"Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.","operationId":"vision.operations.get","parameters":[{"description":"The name of the operation resource.","in":"path","name":"name","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-vision"]}],"tags":["operations"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"patch":{"description":"Makes changes to a ProductSet resource.\nOnly display_name can be updated currently.\n\nPossible errors:\n\n* Returns NOT_FOUND if the ProductSet does not exist.\n* Returns INVALID_ARGUMENT if display_name is present in update_mask but\n missing from the request or longer than 4096 characters.","operationId":"vision.projects.locations.productSets.patch","parameters":[{"description":"The resource name of the ProductSet.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`.\n\nThis field is ignored when creating a ProductSet.","in":"path","name":"name","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}},{"description":"The FieldMask that specifies which fields to\nupdate.\nIf update_mask isn't specified, all mutable fields are to be updated.\nValid mask path is `display_name`.","in":"query","name":"updateMask","schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/ProductSet"},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProductSet"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-vision"]}],"tags":["projects"]}},"/v1/{name}/products":{"get":{"description":"Lists the Products in a ProductSet, in an unspecified order. If the\nProductSet does not exist, the products field of the response will be\nempty.\n\nPossible errors:\n\n* Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.","operationId":"vision.projects.locations.productSets.products.list","parameters":[{"description":"The ProductSet resource for which to retrieve Products.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`","in":"path","name":"name","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}},{"description":"The maximum number of items to return. Default 10, maximum 100.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"The next_page_token returned from a previous List request, if any.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListProductsInProductSetResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-vision"]}],"tags":["projects"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}]},"/v1/{name}:addProduct":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Adds a Product to the specified ProductSet. If the Product is already\npresent, no change is made.\n\nOne Product can be added to at most 100 ProductSets.\n\nPossible errors:\n\n* Returns NOT_FOUND if the Product or the ProductSet doesn't exist.","operationId":"vision.projects.locations.productSets.addProduct","parameters":[{"description":"The resource name for the ProductSet to modify.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`","in":"path","name":"name","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddProductToProductSetRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Empty"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-vision"]}],"tags":["projects"]}},"/v1/{name}:cancel":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.","operationId":"vision.operations.cancel","parameters":[{"description":"The name of the operation resource to be cancelled.","in":"path","name":"name","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelOperationRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Empty"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-vision"]}],"tags":["operations"]}},"/v1/{name}:removeProduct":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Removes a Product from the specified ProductSet.\n\nPossible errors:\n\n* Returns NOT_FOUND If the Product is not found under the ProductSet.","operationId":"vision.projects.locations.productSets.removeProduct","parameters":[{"description":"The resource name for the ProductSet to modify.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`","in":"path","name":"name","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveProductFromProductSetRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Empty"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-vision"]}],"tags":["projects"]}},"/v1/{parent}/productSets":{"get":{"description":"Lists ProductSets in an unspecified order.\n\nPossible errors:\n\n* Returns INVALID_ARGUMENT if page_size is greater than 100, or less\n than 1.","operationId":"vision.projects.locations.productSets.list","parameters":[{"description":"The maximum number of items to return. Default 10, maximum 100.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"The next_page_token returned from a previous List request, if any.","in":"query","name":"pageToken","schema":{"type":"string"}},{"description":"The project from which ProductSets should be listed.\n\nFormat is `projects/PROJECT_ID/locations/LOC_ID`.","in":"path","name":"parent","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListProductSetsResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-vision"]}],"tags":["projects"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Creates and returns a new ProductSet resource.\n\nPossible errors:\n\n* Returns INVALID_ARGUMENT if display_name is missing, or is longer than\n 4096 characters.","operationId":"vision.projects.locations.productSets.create","parameters":[{"description":"The project in which the ProductSet should be created.\n\nFormat is `projects/PROJECT_ID/locations/LOC_ID`.","in":"path","name":"parent","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}},{"description":"A user-supplied resource id for this ProductSet. If set, the server will\nattempt to use this value as the resource id. If it is already in use, an\nerror is returned with code ALREADY_EXISTS. Must be at most 128 characters\nlong. It cannot contain the character `/`.","in":"query","name":"productSetId","schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/ProductSet"},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProductSet"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-vision"]}],"tags":["projects"]}},"/v1/{parent}/productSets:import":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Asynchronous API that imports a list of reference images to specified\nproduct sets based on a list of image information.\n\nThe google.longrunning.Operation API can be used to keep track of the\nprogress and results of the request.\n`Operation.metadata` contains `BatchOperationMetadata`. (progress)\n`Operation.response` contains `ImportProductSetsResponse`. (results)\n\nThe input source of this method is a csv file on Google Cloud Storage.\nFor the format of the csv file please see\nImportProductSetsGcsSource.csv_file_uri.","operationId":"vision.projects.locations.productSets.import","parameters":[{"description":"The project in which the ProductSets should be imported.\n\nFormat is `projects/PROJECT_ID/locations/LOC_ID`.","in":"path","name":"parent","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportProductSetsRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Operation"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-vision"]}],"tags":["projects"]}},"/v1/{parent}/products":{"get":{"description":"Lists products in an unspecified order.\n\nPossible errors:\n\n* Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.","operationId":"vision.projects.locations.products.list","parameters":[{"description":"The maximum number of items to return. Default 10, maximum 100.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"The next_page_token returned from a previous List request, if any.","in":"query","name":"pageToken","schema":{"type":"string"}},{"description":"The project OR ProductSet from which Products should be listed.\n\nFormat:\n`projects/PROJECT_ID/locations/LOC_ID`","in":"path","name":"parent","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListProductsResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-vision"]}],"tags":["projects"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Creates and returns a new product resource.\n\nPossible errors:\n\n* Returns INVALID_ARGUMENT if display_name is missing or longer than 4096\n characters.\n* Returns INVALID_ARGUMENT if description is longer than 4096 characters.\n* Returns INVALID_ARGUMENT if product_category is missing or invalid.","operationId":"vision.projects.locations.products.create","parameters":[{"description":"The project in which the Product should be created.\n\nFormat is\n`projects/PROJECT_ID/locations/LOC_ID`.","in":"path","name":"parent","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}},{"description":"A user-supplied resource id for this Product. If set, the server will\nattempt to use this value as the resource id. If it is already in use, an\nerror is returned with code ALREADY_EXISTS. Must be at most 128 characters\nlong. It cannot contain the character `/`.","in":"query","name":"productId","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Product"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-vision"]}],"tags":["projects"]}},"/v1/{parent}/referenceImages":{"get":{"description":"Lists reference images.\n\nPossible errors:\n\n* Returns NOT_FOUND if the parent product does not exist.\n* Returns INVALID_ARGUMENT if the page_size is greater than 100, or less\n than 1.","operationId":"vision.projects.locations.products.referenceImages.list","parameters":[{"description":"The maximum number of items to return. Default 10, maximum 100.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"A token identifying a page of results to be returned. This is the value\nof `nextPageToken` returned in a previous reference image list request.\n\nDefaults to the first page if not specified.","in":"query","name":"pageToken","schema":{"type":"string"}},{"description":"Resource name of the product containing the reference images.\n\nFormat is\n`projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.","in":"path","name":"parent","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ListReferenceImagesResponse"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-vision"]}],"tags":["projects"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/uploadType"},{"$ref":"#/components/parameters/upload_protocol"}],"post":{"description":"Creates and returns a new ReferenceImage resource.\n\nThe `bounding_poly` field is optional. If `bounding_poly` is not specified,\nthe system will try to detect regions of interest in the image that are\ncompatible with the product_category on the parent product. If it is\nspecified, detection is ALWAYS skipped. The system converts polygons into\nnon-rotated rectangles.\n\nNote that the pipeline will resize the image if the image resolution is too\nlarge to process (above 50MP).\n\nPossible errors:\n\n* Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096\n characters.\n* Returns INVALID_ARGUMENT if the product does not exist.\n* Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing\n compatible with the parent product's product_category is detected.\n* Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons.","operationId":"vision.projects.locations.products.referenceImages.create","parameters":[{"description":"Resource name of the product in which to create the reference image.\n\nFormat is\n`projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.","in":"path","name":"parent","required":true,"x-reservedExpansion":true,"schema":{"type":"string"}},{"description":"A user-supplied resource id for the ReferenceImage to be added. If set,\nthe server will attempt to use this value as the resource id. If it is\nalready in use, an error is returned with code ALREADY_EXISTS. Must be at\nmost 128 characters long. It cannot contain the character `/`.","in":"query","name":"referenceImageId","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferenceImage"}}}},"responses":{"200":{"description":"Successful response","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReferenceImage"}}}}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/cloud-vision"]}],"tags":["projects"]}}},"servers":[{"url":"https://vision.googleapis.com/"}],"components":{"parameters":{"access_token":{"description":"OAuth access token.","in":"query","name":"access_token","schema":{"type":"string"}},"alt":{"description":"Data format for response.","in":"query","name":"alt","schema":{"type":"string","enum":["json","media","proto"],"default":"json"}},"callback":{"description":"JSONP","in":"query","name":"callback","schema":{"type":"string"}},"fields":{"description":"Selector specifying which fields to include in a partial response.","in":"query","name":"fields","schema":{"type":"string"}},"key":{"description":"API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.","in":"query","name":"key","schema":{"type":"string"}},"oauth_token":{"description":"OAuth 2.0 token for the current user.","in":"query","name":"oauth_token","schema":{"type":"string"}},"prettyPrint":{"description":"Returns response with indentations and line breaks.","in":"query","name":"prettyPrint","schema":{"type":"boolean","default":true}},"quotaUser":{"description":"Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.","in":"query","name":"quotaUser","schema":{"type":"string"}},"uploadType":{"description":"Legacy upload protocol for media (e.g. \"media\", \"multipart\").","in":"query","name":"uploadType","schema":{"type":"string"}},"upload_protocol":{"description":"Upload protocol for media (e.g. \"raw\", \"multipart\").","in":"query","name":"upload_protocol","schema":{"type":"string"}},"_.xgafv":{"description":"V1 error format.","in":"query","name":"$.xgafv","schema":{"type":"string","enum":["1","2"]}}},"requestBodies":{"ProductSet":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductSet"}}}}},"securitySchemes":{"Oauth2":{"description":"Oauth 2.0 authentication","type":"oauth2","flows":{"implicit":{"authorizationUrl":"https://accounts.google.com/o/oauth2/auth","scopes":{"https://www.googleapis.com/auth/cloud-platform":"View and manage your data across Google Cloud Platform services","https://www.googleapis.com/auth/cloud-vision":"Apply machine learning models to understand and label images"}}}}},"schemas":{"AddProductToProductSetRequest":{"description":"Request message for the `AddProductToProductSet` method.","properties":{"product":{"description":"The resource name for the Product to be added to this ProductSet.\n\nFormat is:\n`projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`","type":"string"}},"type":"object"},"AnnotateFileResponse":{"description":"Response to a single file annotation request. A file may contain one or more\nimages, which individually have their own responses.","properties":{"inputConfig":{"$ref":"#/components/schemas/InputConfig"},"responses":{"description":"Individual responses to images found within the file.","items":{"$ref":"#/components/schemas/AnnotateImageResponse"},"type":"array"}},"type":"object"},"AnnotateImageRequest":{"description":"Request for performing Google Cloud Vision API tasks over a user-provided\nimage, with user-requested features, and with context information.","properties":{"features":{"description":"Requested features.","items":{"$ref":"#/components/schemas/Feature"},"type":"array"},"image":{"$ref":"#/components/schemas/Image"},"imageContext":{"$ref":"#/components/schemas/ImageContext"}},"type":"object"},"AnnotateImageResponse":{"description":"Response to an image annotation request.","properties":{"context":{"$ref":"#/components/schemas/ImageAnnotationContext"},"cropHintsAnnotation":{"$ref":"#/components/schemas/CropHintsAnnotation"},"error":{"$ref":"#/components/schemas/Status"},"faceAnnotations":{"description":"If present, face detection has completed successfully.","items":{"$ref":"#/components/schemas/FaceAnnotation"},"type":"array"},"fullTextAnnotation":{"$ref":"#/components/schemas/TextAnnotation"},"imagePropertiesAnnotation":{"$ref":"#/components/schemas/ImageProperties"},"labelAnnotations":{"description":"If present, label detection has completed successfully.","items":{"$ref":"#/components/schemas/EntityAnnotation"},"type":"array"},"landmarkAnnotations":{"description":"If present, landmark detection has completed successfully.","items":{"$ref":"#/components/schemas/EntityAnnotation"},"type":"array"},"localizedObjectAnnotations":{"description":"If present, localized object detection has completed successfully.\nThis will be sorted descending by confidence score.","items":{"$ref":"#/components/schemas/LocalizedObjectAnnotation"},"type":"array"},"logoAnnotations":{"description":"If present, logo detection has completed successfully.","items":{"$ref":"#/components/schemas/EntityAnnotation"},"type":"array"},"productSearchResults":{"$ref":"#/components/schemas/ProductSearchResults"},"safeSearchAnnotation":{"$ref":"#/components/schemas/SafeSearchAnnotation"},"textAnnotations":{"description":"If present, text (OCR) detection has completed successfully.","items":{"$ref":"#/components/schemas/EntityAnnotation"},"type":"array"},"webDetection":{"$ref":"#/components/schemas/WebDetection"}},"type":"object"},"AsyncAnnotateFileRequest":{"description":"An offline file annotation request.","properties":{"features":{"description":"Required. Requested features.","items":{"$ref":"#/components/schemas/Feature"},"type":"array"},"imageContext":{"$ref":"#/components/schemas/ImageContext"},"inputConfig":{"$ref":"#/components/schemas/InputConfig"},"outputConfig":{"$ref":"#/components/schemas/OutputConfig"}},"type":"object"},"AsyncAnnotateFileResponse":{"description":"The response for a single offline file annotation request.","properties":{"outputConfig":{"$ref":"#/components/schemas/OutputConfig"}},"type":"object"},"AsyncBatchAnnotateFilesRequest":{"description":"Multiple async file annotation requests are batched into a single service\ncall.","properties":{"requests":{"description":"Individual async file annotation requests for this batch.","items":{"$ref":"#/components/schemas/AsyncAnnotateFileRequest"},"type":"array"}},"type":"object"},"AsyncBatchAnnotateFilesResponse":{"description":"Response to an async batch file annotation request.","properties":{"responses":{"description":"The list of file annotation responses, one for each request in\nAsyncBatchAnnotateFilesRequest.","items":{"$ref":"#/components/schemas/AsyncAnnotateFileResponse"},"type":"array"}},"type":"object"},"BatchAnnotateImagesRequest":{"description":"Multiple image annotation requests are batched into a single service call.","properties":{"requests":{"description":"Individual image annotation requests for this batch.","items":{"$ref":"#/components/schemas/AnnotateImageRequest"},"type":"array"}},"type":"object"},"BatchAnnotateImagesResponse":{"description":"Response to a batch image annotation request.","properties":{"responses":{"description":"Individual responses to image annotation requests within the batch.","items":{"$ref":"#/components/schemas/AnnotateImageResponse"},"type":"array"}},"type":"object"},"BatchOperationMetadata":{"description":"Metadata for the batch operations such as the current state.\n\nThis is included in the `metadata` field of the `Operation` returned by the\n`GetOperation` call of the `google::longrunning::Operations` service.","properties":{"endTime":{"description":"The time when the batch request is finished and\ngoogle.longrunning.Operation.done is set to true.","format":"google-datetime","type":"string"},"state":{"description":"The current state of the batch operation.","enum":["STATE_UNSPECIFIED","PROCESSING","SUCCESSFUL","FAILED","CANCELLED"],"type":"string"},"submitTime":{"description":"The time when the batch request was submitted to the server.","format":"google-datetime","type":"string"}},"type":"object"},"Block":{"description":"Logical element on the page.","properties":{"blockType":{"description":"Detected block type (text, image etc) for this block.","enum":["UNKNOWN","TEXT","TABLE","PICTURE","RULER","BARCODE","KEY_VALUE_PAIR"],"type":"string"},"boundingBox":{"$ref":"#/components/schemas/BoundingPoly"},"confidence":{"description":"Confidence of the OCR results on the block. Range [0, 1].","format":"float","type":"number"},"paragraphs":{"description":"List of paragraphs in this block (if this blocks is of type text).","items":{"$ref":"#/components/schemas/Paragraph"},"type":"array"},"property":{"$ref":"#/components/schemas/TextProperty"}},"type":"object"},"BoundingPoly":{"description":"A bounding polygon for the detected image annotation.","properties":{"normalizedVertices":{"description":"The bounding polygon normalized vertices.","items":{"$ref":"#/components/schemas/NormalizedVertex"},"type":"array"},"vertices":{"description":"The bounding polygon vertices.","items":{"$ref":"#/components/schemas/Vertex"},"type":"array"}},"type":"object"},"CancelOperationRequest":{"description":"The request message for Operations.CancelOperation.","properties":{},"type":"object"},"Color":{"description":"Represents a color in the RGBA color space. This representation is designed\nfor simplicity of conversion to/from color representations in various\nlanguages over compactness; for example, the fields of this representation\ncan be trivially provided to the constructor of \"java.awt.Color\" in Java; it\ncan also be trivially provided to UIColor's \"+colorWithRed:green:blue:alpha\"\nmethod in iOS; and, with just a little work, it can be easily formatted into\na CSS \"rgba()\" string in JavaScript, as well. Here are some examples:\n\nExample (Java):\n\n import com.google.type.Color;\n\n // ...\n public static java.awt.Color fromProto(Color protocolor) {\n float alpha = protocolor.hasAlpha()\n ? protocolor.getAlpha().getValue()\n : 1.0;\n\n return new java.awt.Color(\n protocolor.getRed(),\n protocolor.getGreen(),\n protocolor.getBlue(),\n alpha);\n }\n\n public static Color toProto(java.awt.Color color) {\n float red = (float) color.getRed();\n float green = (float) color.getGreen();\n float blue = (float) color.getBlue();\n float denominator = 255.0;\n Color.Builder resultBuilder =\n Color\n .newBuilder()\n .setRed(red / denominator)\n .setGreen(green / denominator)\n .setBlue(blue / denominator);\n int alpha = color.getAlpha();\n if (alpha != 255) {\n result.setAlpha(\n FloatValue\n .newBuilder()\n .setValue(((float) alpha) / denominator)\n .build());\n }\n return resultBuilder.build();\n }\n // ...\n\nExample (iOS / Obj-C):\n\n // ...\n static UIColor* fromProto(Color* protocolor) {\n float red = [protocolor red];\n float green = [protocolor green];\n float blue = [protocolor blue];\n FloatValue* alpha_wrapper = [protocolor alpha];\n float alpha = 1.0;\n if (alpha_wrapper != nil) {\n alpha = [alpha_wrapper value];\n }\n return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];\n }\n\n static Color* toProto(UIColor* color) {\n CGFloat red, green, blue, alpha;\n if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {\n return nil;\n }\n Color* result = [[Color alloc] init];\n [result setRed:red];\n [result setGreen:green];\n [result setBlue:blue];\n if (alpha <= 0.9999) {\n [result setAlpha:floatWrapperWithValue(alpha)];\n }\n [result autorelease];\n return result;\n }\n // ...\n\n Example (JavaScript):\n\n // ...\n\n var protoToCssColor = function(rgb_color) {\n var redFrac = rgb_color.red || 0.0;\n var greenFrac = rgb_color.green || 0.0;\n var blueFrac = rgb_color.blue || 0.0;\n var red = Math.floor(redFrac * 255);\n var green = Math.floor(greenFrac * 255);\n var blue = Math.floor(blueFrac * 255);\n\n if (!('alpha' in rgb_color)) {\n return rgbToCssColor_(red, green, blue);\n }\n\n var alphaFrac = rgb_color.alpha.value || 0.0;\n var rgbParams = [red, green, blue].join(',');\n return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');\n };\n\n var rgbToCssColor_ = function(red, green, blue) {\n var rgbNumber = new Number((red << 16) | (green << 8) | blue);\n var hexString = rgbNumber.toString(16);\n var missingZeros = 6 - hexString.length;\n var resultBuilder = ['#'];\n for (var i = 0; i < missingZeros; i++) {\n resultBuilder.push('0');\n }\n resultBuilder.push(hexString);\n return resultBuilder.join('');\n };\n\n // ...","properties":{"alpha":{"description":"The fraction of this color that should be applied to the pixel. That is,\nthe final pixel color is defined by the equation:\n\n pixel color = alpha * (this color) + (1.0 - alpha) * (background color)\n\nThis means that a value of 1.0 corresponds to a solid color, whereas\na value of 0.0 corresponds to a completely transparent color. This\nuses a wrapper message rather than a simple float scalar so that it is\npossible to distinguish between a default value and the value being unset.\nIf omitted, this color object is to be rendered as a solid color\n(as if the alpha value had been explicitly given with a value of 1.0).","format":"float","type":"number"},"blue":{"description":"The amount of blue in the color as a value in the interval [0, 1].","format":"float","type":"number"},"green":{"description":"The amount of green in the color as a value in the interval [0, 1].","format":"float","type":"number"},"red":{"description":"The amount of red in the color as a value in the interval [0, 1].","format":"float","type":"number"}},"type":"object"},"ColorInfo":{"description":"Color information consists of RGB channels, score, and the fraction of\nthe image that the color occupies in the image.","properties":{"color":{"$ref":"#/components/schemas/Color"},"pixelFraction":{"description":"The fraction of pixels the color occupies in the image.\nValue in range [0, 1].","format":"float","type":"number"},"score":{"description":"Image-specific score for this color. Value in range [0, 1].","format":"float","type":"number"}},"type":"object"},"CropHint":{"description":"Single crop hint that is used to generate a new crop when serving an image.","properties":{"boundingPoly":{"$ref":"#/components/schemas/BoundingPoly"},"confidence":{"description":"Confidence of this being a salient region. Range [0, 1].","format":"float","type":"number"},"importanceFraction":{"description":"Fraction of importance of this salient region with respect to the original\nimage.","format":"float","type":"number"}},"type":"object"},"CropHintsAnnotation":{"description":"Set of crop hints that are used to generate new crops when serving images.","properties":{"cropHints":{"description":"Crop hint results.","items":{"$ref":"#/components/schemas/CropHint"},"type":"array"}},"type":"object"},"CropHintsParams":{"description":"Parameters for crop hints annotation request.","properties":{"aspectRatios":{"description":"Aspect ratios in floats, representing the ratio of the width to the height\nof the image. For example, if the desired aspect ratio is 4/3, the\ncorresponding float value should be 1.33333. If not specified, the\nbest possible crop is returned. The number of provided aspect ratios is\nlimited to a maximum of 16; any aspect ratios provided after the 16th are\nignored.","items":{"format":"float","type":"number"},"type":"array"}},"type":"object"},"DetectedBreak":{"description":"Detected start or end of a structural component.","properties":{"isPrefix":{"description":"True if break prepends the element.","type":"boolean"},"type":{"description":"Detected break type.","enum":["UNKNOWN","SPACE","SURE_SPACE","EOL_SURE_SPACE","HYPHEN","LINE_BREAK"],"type":"string"}},"type":"object"},"DetectedLanguage":{"description":"Detected language for a structural component.","properties":{"confidence":{"description":"Confidence of detected language. Range [0, 1].","format":"float","type":"number"},"languageCode":{"description":"The BCP-47 language code, such as \"en-US\" or \"sr-Latn\". For more\ninformation, see\nhttp://www.unicode.org/reports/tr35/#Unicode_locale_identifier.","type":"string"}},"type":"object"},"DominantColorsAnnotation":{"description":"Set of dominant colors and their corresponding scores.","properties":{"colors":{"description":"RGB color values with their score and pixel fraction.","items":{"$ref":"#/components/schemas/ColorInfo"},"type":"array"}},"type":"object"},"Empty":{"description":"A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.","properties":{},"type":"object"},"EntityAnnotation":{"description":"Set of detected entity features.","properties":{"boundingPoly":{"$ref":"#/components/schemas/BoundingPoly"},"confidence":{"description":"**Deprecated. Use `score` instead.**\nThe accuracy of the entity detection in an image.\nFor example, for an image in which the \"Eiffel Tower\" entity is detected,\nthis field represents the confidence that there is a tower in the query\nimage. Range [0, 1].","format":"float","type":"number"},"description":{"description":"Entity textual description, expressed in its `locale` language.","type":"string"},"locale":{"description":"The language code for the locale in which the entity textual\n`description` is expressed.","type":"string"},"locations":{"description":"The location information for the detected entity. Multiple\n`LocationInfo` elements can be present because one location may\nindicate the location of the scene in the image, and another location\nmay indicate the location of the place where the image was taken.\nLocation information is usually present for landmarks.","items":{"$ref":"#/components/schemas/LocationInfo"},"type":"array"},"mid":{"description":"Opaque entity ID. Some IDs may be available in\n[Google Knowledge Graph Search\nAPI](https://developers.google.com/knowledge-graph/).","type":"string"},"properties":{"description":"Some entities may have optional user-supplied `Property` (name/value)\nfields, such a score or string that qualifies the entity.","items":{"$ref":"#/components/schemas/Property"},"type":"array"},"score":{"description":"Overall score of the result. Range [0, 1].","format":"float","type":"number"},"topicality":{"description":"The relevancy of the ICA (Image Content Annotation) label to the\nimage. For example, the relevancy of \"tower\" is likely higher to an image\ncontaining the detected \"Eiffel Tower\" than to an image containing a\ndetected distant towering building, even though the confidence that\nthere is a tower in each image may be the same. Range [0, 1].","format":"float","type":"number"}},"type":"object"},"FaceAnnotation":{"description":"A face annotation object contains the results of face detection.","properties":{"angerLikelihood":{"description":"Anger likelihood.","enum":["UNKNOWN","VERY_UNLIKELY","UNLIKELY","POSSIBLE","LIKELY","VERY_LIKELY"],"type":"string"},"blurredLikelihood":{"description":"Blurred likelihood.","enum":["UNKNOWN","VERY_UNLIKELY","UNLIKELY","POSSIBLE","LIKELY","VERY_LIKELY"],"type":"string"},"boundingPoly":{"$ref":"#/components/schemas/BoundingPoly"},"detectionConfidence":{"description":"Detection confidence. Range [0, 1].","format":"float","type":"number"},"fdBoundingPoly":{"$ref":"#/components/schemas/BoundingPoly"},"headwearLikelihood":{"description":"Headwear likelihood.","enum":["UNKNOWN","VERY_UNLIKELY","UNLIKELY","POSSIBLE","LIKELY","VERY_LIKELY"],"type":"string"},"joyLikelihood":{"description":"Joy likelihood.","enum":["UNKNOWN","VERY_UNLIKELY","UNLIKELY","POSSIBLE","LIKELY","VERY_LIKELY"],"type":"string"},"landmarkingConfidence":{"description":"Face landmarking confidence. Range [0, 1].","format":"float","type":"number"},"landmarks":{"description":"Detected face landmarks.","items":{"$ref":"#/components/schemas/Landmark"},"type":"array"},"panAngle":{"description":"Yaw angle, which indicates the leftward/rightward angle that the face is\npointing relative to the vertical plane perpendicular to the image. Range\n[-180,180].","format":"float","type":"number"},"rollAngle":{"description":"Roll angle, which indicates the amount of clockwise/anti-clockwise rotation\nof the face relative to the image vertical about the axis perpendicular to\nthe face. Range [-180,180].","format":"float","type":"number"},"sorrowLikelihood":{"description":"Sorrow likelihood.","enum":["UNKNOWN","VERY_UNLIKELY","UNLIKELY","POSSIBLE","LIKELY","VERY_LIKELY"],"type":"string"},"surpriseLikelihood":{"description":"Surprise likelihood.","enum":["UNKNOWN","VERY_UNLIKELY","UNLIKELY","POSSIBLE","LIKELY","VERY_LIKELY"],"type":"string"},"tiltAngle":{"description":"Pitch angle, which indicates the upwards/downwards angle that the face is\npointing relative to the image's horizontal plane. Range [-180,180].","format":"float","type":"number"},"underExposedLikelihood":{"description":"Under-exposed likelihood.","enum":["UNKNOWN","VERY_UNLIKELY","UNLIKELY","POSSIBLE","LIKELY","VERY_LIKELY"],"type":"string"}},"type":"object"},"Feature":{"description":"The type of Google Cloud Vision API detection to perform, and the maximum\nnumber of results to return for that type. Multiple `Feature` objects can\nbe specified in the `features` list.","properties":{"maxResults":{"description":"Maximum number of results of this type. Does not apply to\n`TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`.","format":"int32","type":"integer"},"model":{"description":"Model to use for the feature.\nSupported values: \"builtin/stable\" (the default if unset) and\n\"builtin/latest\".","type":"string"},"type":{"description":"The feature type.","enum":["TYPE_UNSPECIFIED","FACE_DETECTION","LANDMARK_DETECTION","LOGO_DETECTION","LABEL_DETECTION","TEXT_DETECTION","DOCUMENT_TEXT_DETECTION","SAFE_SEARCH_DETECTION","IMAGE_PROPERTIES","CROP_HINTS","WEB_DETECTION","PRODUCT_SEARCH","OBJECT_LOCALIZATION"],"type":"string"}},"type":"object"},"GcsDestination":{"description":"The Google Cloud Storage location where the output will be written to.","properties":{"uri":{"description":"Google Cloud Storage URI where the results will be stored. Results will\nbe in JSON format and preceded by its corresponding input URI. This field\ncan either represent a single file, or a prefix for multiple outputs.\nPrefixes must end in a `/`.\n\nExamples:\n\n* File: gs://bucket-name/filename.json\n* Prefix: gs://bucket-name/prefix/here/\n* File: gs://bucket-name/prefix/here\n\nIf multiple outputs, each response is still AnnotateFileResponse, each of\nwhich contains some subset of the full list of AnnotateImageResponse.\nMultiple outputs can happen if, for example, the output JSON is too large\nand overflows into multiple sharded files.","type":"string"}},"type":"object"},"GcsSource":{"description":"The Google Cloud Storage location where the input will be read from.","properties":{"uri":{"description":"Google Cloud Storage URI for the input file. This must only be a\nGoogle Cloud Storage object. Wildcards are not currently supported.","type":"string"}},"type":"object"},"GoogleCloudVisionV1p1beta1AnnotateFileResponse":{"description":"Response to a single file annotation request. A file may contain one or more\nimages, which individually have their own responses.","properties":{"inputConfig":{"$ref":"#/components/schemas/GoogleCloudVisionV1p1beta1InputConfig"},"responses":{"description":"Individual responses to images found within the file.","items":{"$ref":"#/components/schemas/GoogleCloudVisionV1p1beta1AnnotateImageResponse"},"type":"array"}},"type":"object"},"GoogleCloudVisionV1p1beta1AnnotateImageResponse":{"description":"Response to an image annotation request.","properties":{"context":{"$ref":"#/components/schemas/GoogleCloudVisionV1p1beta1ImageAnnotationContext"},"cropHintsAnnotation":{"$ref":"#/components/schemas/GoogleCloudVisionV1p1beta1CropHintsAnnotation"},"error":{"$ref":"#/components/schemas/Status"},"faceAnnotations":{"description":"If present, face detection has completed successfully.","items":{"$ref":"#/components/schemas/GoogleCloudVisionV1p1beta1FaceAnnotation"},"type":"array"},"fullTextAnnotation":{"$ref":"#/components/schemas/GoogleCloudVisionV1p1beta1TextAnnotation"},"imagePropertiesAnnotation":{"$ref":"#/components/schemas/GoogleCloudVisionV1p1beta1ImageProperties"},"labelAnnotations":{"description":"If present, label detection has completed successfully.","items":{"$ref":"#/components/schemas/GoogleCloudVisionV1p1beta1EntityAnnotation"},"type":"array"},"landmarkAnnotations":{"description":"If present, landmark detection has completed successfully.","items":{"$ref":"#/components/schemas/GoogleCloudVisionV1p1beta1EntityAnnotation"},"type":"array"},"localizedObjectAnnotations":{"description":"If present, localized object detection has completed successfully.\nThis will be sorted descending by c