Method: projects.locations.products.referenceImages.create

Creates and returns a new ReferenceImage resource.

The boundingPoly field is optional. If boundingPoly is not specified, the system will try to detect regions of interest in the image that are compatible with the productCategory on the parent product. If it is specified, detection is ALWAYS skipped. The system converts polygons into non-rotated rectangles.

Note that the pipeline will resize the image if the image resolution is too large to process (above 50MP).

Possible errors:

  • Returns INVALID_ARGUMENT if the imageUri is missing or longer than 4096 characters.
  • Returns INVALID_ARGUMENT if the product does not exist.
  • Returns INVALID_ARGUMENT if boundingPoly is not provided, and nothing compatible with the parent product's productCategory is detected.
  • Returns INVALID_ARGUMENT if boundingPoly contains more than 10 polygons.

HTTP request


The URL uses gRPC Transcoding syntax.

Path parameters



Resource name of the product in which to create the reference image.

Format is projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID.

Query parameters



A user-supplied resource id for the ReferenceImage to be added. If set, the server will attempt to use this value as the resource id. If it is already in use, an error is returned with code ALREADY_EXISTS. Must be at most 128 characters long. It cannot contain the character /.

Request body

The request body contains an instance of ReferenceImage.

Response body

If successful, the response body contains a newly created instance of ReferenceImage.

Authorization Scopes

Requires one of the following OAuth scopes:


For more information, see the Authentication Overview.