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) 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="ImagineAI-Real/ImagineAI Image Generator", description="Enter a prompt, click Submit and wait a bit for your image.
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()