docs: def classify(self,
                   images_file=None,
                   images_filename=None,
                   images_file_content_type=None,
                   url=None,
                   threshold=None,
                   owners=None,
                   classifier_ids=None,
                   accept_language=None,
                   **kwargs):
          """
          Classify images.
  
          Classify images with built-in or custom classifiers.
  
          :param file images_file: An image file (.gif, .jpg, .png, .tif) or .zip file with
          images. Maximum image size is 10 MB. Include no more than 20 images and limit the
          .zip file to 100 MB. Encode the image and .zip file names in UTF-8 if they contain
          non-ASCII characters. The service assumes UTF-8 encoding if it encounters
          non-ASCII characters.
          You can also include an image with the **url** parameter.
          :param str images_filename: The filename for images_file.
          :param str images_file_content_type: The content type of images_file.
          :param str url: The URL of an image (.gif, .jpg, .png, .tif) to analyze. The
          minimum recommended pixel density is 32X32 pixels, but the service tends to
          perform better with images that are at least 224 x 224 pixels. The maximum image
          size is 10 MB.
          You can also include images with the **images_file** parameter.
          :param float threshold: The minimum score a class must have to be displayed in the
          response. Set the threshold to `0.0` to return all identified classes.
          :param list[str] owners: The categories of classifiers to apply. The
          **classifier_ids** parameter overrides **owners**, so make sure that
          **classifier_ids** is empty.
          - Use `IBM` to classify against the `default` general classifier. You get the same
          result if both **classifier_ids** and **owners** parameters are empty.
          - Use `me` to classify against all your custom classifiers. However, for better
          performance use **classifier_ids** to specify the specific custom classifiers to
          apply.
          - Use both `IBM` and `me` to analyze the image against both classifier categories.
          :param list[str] classifier_ids: Which classifiers to apply. Overrides the
          **owners** parameter. You can specify both custom and built-in classifier IDs. The
          built-in `default` classifier is used if both **classifier_ids** and **owners**
          parameters are empty.
          The following built-in classifier IDs require no training:
          - `default`: Returns classes from thousands of general tags.
          - `food`: Enhances specificity and accuracy for images of food items.
          - `explicit`: Evaluates whether the image might be pornographic.
          :param str accept_language: The desired language of parts of the response. See the
          response for details.
          :param dict headers: A `dict` containing the request headers
          :return: A `DetailedResponse` containing the result, headers and HTTP status code.
          :rtype: DetailedResponse
          """
  
          headers = {'Accept-Language': accept_language}
          if 'headers' in kwargs:
              headers.update(kwargs.get('headers'))
          sdk_headers = get_sdk_headers('watson_vision_combined', 'V3',
                                        'classify')
          headers.update(sdk_headers)
  
          params = {'version': self.version}
  
          form_data = {}
          if images_file:
              if not images_filename and hasattr(images_file, 'name'):
                  images_filename = basename(images_file.name)
              if not images_filename:
                  raise ValueError('images_filename must be provided')
              form_data['images_file'] = (images_filename, images_file,
                                          images_file_content_type or
                                          'application/octet-stream')
          if url:
              form_data['url'] = (None, url, 'text/plain')
          if threshold:
              form_data['threshold'] = (None, threshold, 'application/json')
          if owners:
              owners = self._convert_list(owners)
              form_data['owners'] = (None, owners, 'application/json')
          if classifier_ids:
              classifier_ids = self._convert_list(classifier_ids)
              form_data['classifier_ids'] = (None, classifier_ids,
                                             'application/json')
  
          url = '/v3/classify'
          response = self.request(
              method='POST',
              url=url,
              headers=headers,
              params=params,
              files=form_data,
              accept_json=True)
          return response