|
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(model, prompt, seed, negative_prompt, sampler, steps): |
|
data = "?model=" + model + "&prompt=" + prompt + "&seed=" + str(seed) + "&negative_prompt=" + negative_prompt + "&sampler=" + sampler + "&steps=" + str(steps) |
|
response = requests.post(api_url + data, timeout=400) |
|
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 |
|
|
|
dropdown_model = gr.inputs.Dropdown(['Seek.art MEGA', 'Deliberate', 'Dreamlike Photoreal', 'Realistic Vision'], label="Model", default="Seek.art MEGA") |
|
textbox_prompt = gr.inputs.Textbox(label="Prompt") |
|
number_seed = gr.inputs.Number(label="Seed", default=0) |
|
textbox_negative_prompt = gr.inputs.Textbox(label="Negative Prompt", default="") |
|
dropdown_sampler = 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") |
|
number_steps = gr.inputs.Number(label="Steps", default=50) |
|
|
|
inputs = [dropdown_model, textbox_prompt, number_seed, textbox_negative_prompt, dropdown_sampler, number_steps] |
|
|
|
outputs = gr.outputs.Image(label="Generated Image", type="pil") |
|
|
|
interface = gr.Interface( |
|
fn=generate_image, |
|
inputs=inputs, |
|
outputs=outputs, |
|
title="Image Generator", |
|
description="Select options and enter a prompt to generate an image.", |
|
examples=[], |
|
layout="vertical", |
|
theme="ParityError/Interstellar" |
|
) |
|
|
|
interface.launch() |
|
|