code: def classify_elements(self,
                            file,
                            file_content_type=None,
                            model=None,
                            **kwargs):
          
  
          if file is None:
              raise ValueError('file must be provided')
  
          headers = {}
          if 'headers' in kwargs:
              headers.update(kwargs.get('headers'))
          sdk_headers = get_sdk_headers('compare-comply', 'V1',
                                        'classify_elements')
          headers.update(sdk_headers)
  
          params = {'version': self.version, 'model': model}
  
          form_data = {}
          form_data['file'] = (None, file, file_content_type or
                               'application/octet-stream')
  
          url = '/v1/element_classification'
          response = self.request(
              method='POST',
              url=url,
              headers=headers,
              params=params,
              files=form_data,
              accept_json=True)
          return response
docs: Classify the elements of a document.
  
          Analyzes the structural and semantic elements of a document.
  
          :param file file: The document to classify.
          :param str file_content_type: The content type of file.
          :param str model: The analysis model to be used by the service. For the **Element
          classification** and **Compare two documents** methods, the default is
          `contracts`. For the **Extract tables** method, the default is `tables`. These
          defaults apply to the standalone methods as well as to the methods' use in
          batch-processing requests.
          :param dict headers: A `dict` containing the request headers
          :return: A `DetailedResponse` containing the result, headers and HTTP status code.
          :rtype: DetailedResponse