|
import runpod |
|
from helpers import get_result, b64_to_pil, pil_to_b64 |
|
import base64 |
|
from PIL import Image |
|
|
|
def handler(job): |
|
human_img_b64 = job['input']['human_img_b64'] |
|
human_img = b64_to_pil(human_img_b64) |
|
|
|
garm_img_b64 = job['input']['garm_img_b64'] |
|
garm_img = b64_to_pil(garm_img_b64) |
|
|
|
body_part = job['input'].get('body_part') |
|
|
|
denoise_steps = job['input'].get('denoise_steps') if job['input'].get('denoise_steps') else 30 |
|
|
|
seed = job['input'].get('seed') if job['input'].get('seed') else 42 |
|
|
|
is_checked_crop = job['input'].get('is_checked_crop') if job['input'].get('is_checked_crop') else False |
|
|
|
garment_des = job['input'].get('garment_des') if job['input'].get('garment_des') else "" |
|
|
|
output_image, mask_image = get_result(human_img, garm_img, body_part, denoise_steps, seed, is_checked_crop, garment_des) |
|
|
|
output_image.save("output_image.jpg") |
|
mask_image.save("mask_image.jpg") |
|
|
|
return {"output_image": pil_to_b64(output_image), "mask_image": pil_to_b64(mask_image)} |
|
|
|
runpod.serverless.start({"handler": handler}) |