import gradio as gr from models import models from PIL import Image import requests import uuid import io import base64 import torch from diffusers import AutoPipelineForImage2Image from diffusers.utils import make_image_grid, load_image base_url=f'https://omnibus-top-20-img-img.hf.space/file=' loaded_model=[] for i,model in enumerate(models): try: loaded_model.append(gr.load(f'models/{model}')) except Exception as e: print(e) pass print (loaded_model) pipeline = AutoPipelineForImage2Image.from_pretrained("runwayml/stable-diffusion-v1-5", torch_dtype=torch.float32, use_safetensors=True) def load_model(model_drop): pipeline = AutoPipelineForImage2Image.from_pretrained("runwayml/stable-diffusion-v1-5", torch_dtype=torch.float32, use_safetensors=True) def run_dif(prompt,im_path,model_drop,cnt): out_box=[] for ea in im_path: print(ea) url = base_url+ea init_image = load_image(url) #prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" # pass prompt and image to pipeline #image = pipeline(prompt, image=init_image, strength=0.8,guidance_scale=8.0,negative_prompt=negative_prompt,num_inference_steps=50).images[0] image = pipeline(prompt, image=init_image, strength=0.2,guidance_scale=8.0,num_inference_steps=2).images[0] #make_image_grid([init_image, image], rows=1, cols=2) out_box.append(image) yield out_box,"" def run_dif_old(out_prompt,model_drop,cnt): p_seed="" out_box=[] out_html="" #for i,ea in enumerate(loaded_model): for i in range(int(cnt)): p_seed+=" " try: model=loaded_model[int(model_drop)] out_img=model(out_prompt+p_seed) print(out_img) out_box.append(out_img) except Exception as e: print(e) out_html=str(e) pass yield out_box,out_html def run_dif_og(out_prompt,model_drop,cnt): out_box=[] out_html="" #for i,ea in enumerate(loaded_model): for i in range(cnt): try: #print (ea) model=loaded_model[int(model_drop)] out_img=model(out_prompt) print(out_img) url=f'https://omnibus-top-20.hf.space/file={out_img}' print(url) uid = uuid.uuid4() #urllib.request.urlretrieve(image, 'tmp.png') #out=Image.open('tmp.png') r = requests.get(url, stream=True) if r.status_code == 200: img_buffer = io.BytesIO(r.content) print (f'bytes:: {io.BytesIO(r.content)}') str_equivalent_image = base64.b64encode(img_buffer.getvalue()).decode() img_tag = "" out_html+=f"