from diffusers import StableDiffusionPipeline
import torch
import gradio as gr

models=[
"ItsJayQz/Marvel_WhatIf_Diffusion",
"DGSpitzer/Cyberpunk-Anime-Diffusion",
"DGSpitzer/Guan-Yu-Diffusion",
"wavymulder/portraitplus",
"nitrosocke/classic-anim-diffusion",
"22h/vintedois-diffusion-v0-1",
"dreamlike-art/dreamlike-diffusion-1.0",
"stabilityai/stable-diffusion-2-1"
]

def TextToImage(Prompt,model):
  model_id = model
  pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
  pipe = pipe.to("cpu")
  prompt = Prompt
  image = pipe(prompt).images[0]
  return image

sandbox = gr.Interface(fn=TextToImage, 
                        inputs=["text", gr.Dropdown(models)],
                         outputs="image", 
                        title='AlStable Text to Image')

sandbox.launch()