jayparmr's picture
Upload 118 files
19b3da3
raw
history blame
1.19 kB
from typing import List, Union
import torch
from diffusers import StableDiffusionInpaintPipeline
from internals.pipelines.commons import AbstractPipeline
from internals.util.commons import disable_safety_checker, download_image
class InPainter(AbstractPipeline):
def load(self):
self.pipe = StableDiffusionInpaintPipeline.from_pretrained(
"jayparmr/icbinp_v8_inpaint_v2",
torch_dtype=torch.float16,
).to("cuda")
disable_safety_checker(self.pipe)
@torch.inference_mode()
def process(
self,
image_url: str,
mask_image_url: str,
width: int,
height: int,
seed: int,
prompt: Union[str, List[str]],
negative_prompt: Union[str, List[str]],
):
torch.manual_seed(seed)
input_img = download_image(image_url).resize((width, height))
mask_img = download_image(mask_image_url).resize((width, height))
return self.pipe.__call__(
prompt=prompt,
image=input_img,
mask_image=mask_img,
height=height,
width=width,
negative_prompt=negative_prompt,
).images