File size: 1,578 Bytes
d9fa240
bdf78cc
 
aeb3245
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d57a42d
10b44c7
d57a42d
 
aeb3245
10b44c7
 
d57a42d
8361e64
108406f
 
 
d57a42d
108406f
d9fa240
d57a42d
108406f
 
d9fa240
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import os
import gradio as gr

models = [
    "models/stabilityai/stable-diffusion-xl-base-0.9",
    "models/stabilityai/stable-diffusion-2-1",
    "models/stabilityai/stable-diffusion-xl-refiner-0.9",
    "models/stabilityai/stable-diffusion-2-1-base",
    "models/stabilityai/stable-diffusion-2",
    "models/stabilityai/stable-diffusion-2-inpainting",
    "models/stabilityai/stable-diffusion-x4-upscaler",
    "models/stabilityai/stable-diffusion-2-depth",
    "models/stabilityai/stable-diffusion-2-base",
    "models/stabilityai/stable-diffusion-2-1-unclip",
    "models/helenai/stabilityai-stable-diffusion-2-1-base-ov",
    "models/helenai/stabilityai-stable-diffusion-2-1-ov",
    "models/stabilityai/stable-diffusion-2-1-unclip-small"
]

def generate_image(model_name, input_text):
    model = gr.Interface.load(model_name, api_key=os.getenv("HUGGINGFACE_API_KEY"))
    output_image = model.process(input_text)
    return output_image

model_dropdown = gr.inputs.Dropdown(models, label="Select Model")
input_text = gr.inputs.Textbox(lines=5, label="Input Text")
output_image = gr.outputs.Image(label="Output Image")

def change_model(model_name):
    global interface
    interface.close()
    interface = gr.Interface(generate_image, inputs=[model_name, input_text], outputs=output_image)
    interface.launch()

interface = gr.Interface(generate_image, inputs=[model_dropdown, input_text], outputs=output_image, capture_session=True)

change_model_button = gr.Interface.load("models/stabilityai/stable-diffusion-2", capture_session=True).launch()
interface.launch()