|
import gradio as gr |
|
import requests |
|
import os |
|
|
|
BASE_URL = os.getenv("BASE_URL") |
|
API_KEY = os.getenv("API_KEY") |
|
|
|
def generate_image(prompt, negative_prompt, sampling_steps, cfg_scale, seed): |
|
headers = { |
|
'Authorization': f'Bearer {API_KEY}', |
|
} |
|
|
|
data = { |
|
'prompt': prompt, |
|
'negative_prompt': negative_prompt, |
|
'sampling_steps': sampling_steps, |
|
'cfg_scale': cfg_scale, |
|
'seed': seed, |
|
} |
|
|
|
response = requests.post(BASE_URL, headers=headers, json=data) |
|
|
|
if response.status_code == 200: |
|
image_data = response.json()['image'] |
|
return image_data |
|
else: |
|
return None |
|
|
|
iface = gr.Interface( |
|
fn=generate_image, |
|
inputs=[ |
|
gr.Textbox('text', label='Prompt', default='Enter your prompt...'), |
|
gr.Textbox('text', label='Negative Prompt', default='Enter your negative prompt...'), |
|
], |
|
outputs=gr.Image(label='Generated Image'), |
|
live=True, |
|
) |
|
|
|
with iface.launch(debug=True): |
|
iface.add_slider('Sampling Steps', 1, 30, 1) |
|
iface.add_slider('CFG Scale', 1, 20, 1) |
|
iface.add_textbox('Seed', default='-1') |
|
iface.add_button('Generate', None) |
|
iface.add_download_button('Download Image') |
|
|