File size: 1,863 Bytes
dca1c6a
ec0bf9c
199ccb7
 
 
c066480
a3b506f
ec0bf9c
 
3d0d32e
a3b506f
 
199ccb7
 
 
 
a3b506f
 
dca1c6a
 
 
 
 
a3b506f
5def6cc
dca1c6a
 
 
4697c4e
dca1c6a
628f17f
a3b506f
 
 
 
dca1c6a
199ccb7
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
import gradio as gr
import requests
from PIL import Image
from io import BytesIO
import base64

api_url = "https://5cb20b40-572c-426f-9466-995256f9b6eb.id.repl.co/generate_image"

def generate_image(prompt, seed=0, negative_prompt="", model="Deliberate", sampler="k_dpmpp_2s_a", steps=50):
    data = "?prompt="+ prompt + "&seed="+ str(seed) + "&negative_prompt=" + negative_prompt + "&model=" + model + "&sampler=" + sampler + "&steps=" + str(steps)
    response = requests.post(api_url, data=data)
    if response.status_code == 200:
        img_base64 = response.json()["url"]
        img_bytes = base64.b64decode(img_base64)
        img = Image.open(BytesIO(img_bytes))
        return img
    else:
        return None

inputs = [
    gr.inputs.Textbox(label="Prompt"),
    gr.inputs.Number(label="Seed", default=0),
    gr.inputs.Textbox(label="Negative Prompt", default=""),
    gr.inputs.Dropdown([], label="Model", default="Deliberate"),
    gr.inputs.Dropdown(["k_lms", "k_heun", "k_euler", "k_euler_a", "k_dpm_2", "k_dpm_2_a", "DDIM", "k_dpm_fast", "k_dpm_adaptive", "k_dpmpp_2m", "k_dpmpp_2s_a", "k_dpmpp_sde"], label="Sampler", default="k_dpmpp_2s_a"),
    gr.inputs.Number(label="Steps", default=50)
]

outputs = gr.outputs.Image(label="Generated Image", type="pil")

interface = gr.Interface(generate_image, inputs, outputs, title="<a href='https://huggingface.co/spaces/ImagineAI-Real/ImagineAI-Image-Generator'>ImagineAI-Real/ImagineAI Image Generator</a>", 
                         description="Enter a prompt, click Submit and wait a bit for your image.<br/>If taking too long, duplicate the space.", 
                         examples=[["A cat sitting on a chair"], 
                                   ["A landscape with mountains and a lake"], 
                                   ["A portrait of a woman with red hair"]])

interface.launch()