@@ -8,8 +8,10 @@ from typing import Optional import filetype import requests from django.core.files import File +from replicate.exceptions import ModelError from messages.models import Message +from ml_model.exceptions import ImageContentNotFound from ml_model.services.base import SimpleService from ml_model.tasks import replicate_run @@ -63,7 +65,11 @@ class Nanobanana(SimpleService): image = f'data:{mime};base64,{base64.b64encode(input_message.file.read()).decode("utf-8")}' input_message.file.close() callback_data.update({'image_input': [image]}) - image = replicate_run(f'google/{version}', callback_data) + try: + image = replicate_run(f'google/{version}', callback_data) + except ModelError as exc: + if exc.prediction.error == 'No image content found in response': + raise ImageContentNotFound process_time = timedelta(seconds=(time.time() - start_time)) self.handle_invoice(input_message.content_object.model, version=version, resolution=resolution) msgs = self.save_results(input_message.content, image, process_time, save)