async def _try_mistral_ocr(self, local_path: str) -> Optional[str]:
        """Try to process the image with Mistral OCR if available.

        Args:
            local_path: Path to the image file

        Returns:
            OCR text result or None if unavailable or failed
        """
        if not self.mistral_client:
            return None

        try:
            file_size = os.path.getsize(local_path)
            if file_size <= MAX_MISTRAL_FILE_SIZE:
                ocr_text = await self._process_with_mistral_ocr(local_path)
                if ocr_text:
                    return ocr_text
            else:
                logger.warning(
                    f"Image {local_path} exceeds Mistral OCR size limit "
                    f"of {MAX_MISTRAL_FILE_SIZE / 1024 / 1024}MB"
                )
        except Exception as e:
            logger.error(f"Error processing image with Mistral OCR: {str(e)}")
            logger.info("Falling back to metadata extraction and LLM description")

        return None
Try to process the image with Mistral OCR if available.

        Args:
            local_path: Path to the image file

        Returns:
            OCR text result or None if unavailable or failed
        
backend/airweave/platform/file_handling/conversion/converters/img_converter.py