|
import gradio as gr |
|
import os |
|
import requests |
|
|
|
|
|
BASE_URL = os.getenv("BASE_URL") |
|
API_KEY = os.getenv("API_KEY") |
|
|
|
|
|
def generate_image(prompt, neg_prompt, sampling_steps=1, cfg_scale=1, seed=-1): |
|
|
|
data = { |
|
"prompt": prompt, |
|
"neg_prompt": neg_prompt, |
|
"sampling_steps": int(sampling_steps), |
|
"cfg_scale": int(cfg_scale), |
|
"seed": int(seed) |
|
} |
|
|
|
|
|
headers = { |
|
"Authorization": f"Bearer {API_KEY}" |
|
} |
|
|
|
|
|
response = requests.post(BASE_URL, json=data, headers=headers) |
|
|
|
|
|
generated_image = response.content |
|
|
|
return generated_image |
|
|
|
|
|
iface = gr.Interface( |
|
fn=generate_image, |
|
inputs=[ |
|
gr.Textbox("text", label="Prompt"), |
|
gr.Textbox("text", label="Negative Prompt"), |
|
gr.Slider(1, 30, 1, label="Sampling Steps"), |
|
gr.Slider(1, 20, 1, label="CFG Scale"), |
|
gr.Number(label="Seed") |
|
], |
|
outputs=gr.Image(), |
|
live=True, |
|
title="Image Generator", |
|
theme="compact", |
|
interpretation="default", |
|
allow_flagging=False, |
|
allow_screenshot=False, |
|
allow_download=False, |
|
allow_duplicate=False, |
|
show_input=True, |
|
show_output=True, |
|
show_interpretation=True, |
|
show_flag=False, |
|
show_screenshot=False, |
|
show_download=False |
|
) |
|
|
|
|
|
iface.launch() |
|
|