| from diffusers import DiffusionPipeline as Pipe | |
| import torch | |
| class Converter: | |
| import io | |
| from PIL import Image | |
| img = Image.open(fh, mode='r') | |
| roi_img = img.crop(box) | |
| img_byte_arr = io.BytesIO() | |
| roi_img.save(img_byte_arr, format='PNG') | |
| img_byte_arr = img_byte_arr.getvalue() | |
| class Generador: | |
| def img_to_bytes(image) -> bytes: | |
| import io | |
| _imgByteArr = io.BytesIO() | |
| image.save(_imgByteArr, format=image.format) | |
| return _imgByteArr.getvalue() | |
| def using_runway_sd_15(prompt:str)->bytes|None: | |
| try: | |
| _generador = Pipe.from_pretrained("runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16) | |
| _generador.to("cuda") | |
| _imagen = _generador(prompt).images[0] | |
| _response = Generador.img_to_bytes(img=_imagen) | |
| except Exception as e: | |
| _response = None | |
| finally: | |
| return _response | |
| def using_stability_sd_21(prompt:str)->bytes|None: | |
| try: | |
| _generador = Pipe.from_pretrained("stabilityai/stable-diffusion-2-1", torch_dtype=torch.float16) | |
| _generador.to("cuda") | |
| _imagen = _generador(prompt).images[0] | |
| _response = Generador.img_to_bytes(img=_imagen) | |
| except Exception as e: | |
| _response = None | |
| finally: | |
| return _response | |
| def using_realistic_v14(prompt:str)->bytes|None: | |
| try: | |
| _generador = Pipe.from_pretrained("SG161222/Realistic_Vision_V1.4", torch_dtype=torch.float16) | |
| _generador.to("cuda") | |
| _imagen = _generador(prompt).images[0] | |
| _response = Generador.img_to_bytes(img=_imagen) | |
| except Exception as e: | |
| _response = None | |
| finally: | |
| return _response | |
| def using_prompthero_openjourney(prompt:str)->bytes|None: | |
| try: | |
| _generador = Pipe.from_pretrained("prompthero/openjourney", torch_dtype=torch.float16) | |
| _generador.to("cuda") | |
| _imagen = _generador(prompt).images[0] | |
| _response = Generador.img_to_bytes(img=_imagen) | |
| except Exception as e: | |
| _response = None | |
| finally: | |
| return _response | |