class_docstr: Hook for Google Cloud Vision APIs.
  
  All the methods in the hook where project_id is used must be called with
  keyword arguments rather than positional.
docstr: Annotate image.
  
  For the documentation see:
  :py:class:`~airflow.providers.google.cloud.operators.vision.CloudVisionImageAnnotateOperator`.
code: def annotate_image(
      self,
      request: dict | AnnotateImageRequest,
      retry: Retry | _MethodDefault = DEFAULT,
      timeout: float | None = None,
  ) -> dict:
      """
      Annotate image.
  
      For the documentation see:
      :py:class:`~airflow.providers.google.cloud.operators.vision.CloudVisionImageAnnotateOperator`.
      """
      client = self.annotator_client
  
      self.log.info("Annotating image")
  
      response = client.annotate_image(
          request=request, retry=retry, timeout=timeout
      )
  
      self.log.info("Image annotated")
  
      return MessageToDict(response._pb)
  
imports: from __future__ import annotations
  from copy import deepcopy
  from functools import cached_property
  from typing import TYPE_CHECKING, Any, Callable, Sequence
  from google.api_core.gapic_v1.method import DEFAULT, _MethodDefault
  from google.cloud.vision_v1 import AnnotateImageRequest, Image, ImageAnnotatorClient, Product, ProductSearchClient, ProductSet, ReferenceImage
  from google.protobuf.json_format import MessageToDict
  from airflow.exceptions import AirflowException
  from airflow.providers.google.common.consts import CLIENT_INFO
  from airflow.providers.google.common.hooks.base_google import PROVIDE_PROJECT_ID, GoogleBaseHook
label_desc: Use image node_id 17 for calling the CloudVisionHook obj's underlying member method code with example usage: obj.annotate_image(request, retry, timeout) and returns: MessageToDict