Spaces:
Runtime error
Runtime error
File size: 1,930 Bytes
110b988 d494d7b 110b988 d494d7b 110b988 bb6c85b 110b988 bb6c85b 110b988 bb6c85b 110b988 d494d7b |
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
import gradio as gr
import requests
import base64
from PIL import Image, ImageDraw
import io
import random
url = "http://73.255.78.150:7909/sdapi/v1/img2img"
session_seed, last_session_seed = None, None
def generate_image(prompt, steps, reset_seed, increment_seed, image_file=None):
global session_seed, last_session_seed
if reset_seed:
last_session_seed, session_seed = session_seed, -1 if session_seed != -1 else None
elif not reset_seed and last_session_seed:
session_seed = last_session_seed
elif session_seed is None:
session_seed = random.randint(0, 10000)
if increment_seed and session_seed != -1:
session_seed += 1
init_image_value = ""
if image_file:
image_data = image_file.read()
encoded_image = base64.b64encode(image_data).decode("utf-8")
init_image_value = "data:image/jpeg;base64," + encoded_image
payload = {
"init_image": init_image_value,
"prompt": prompt,
"steps": steps,
# ... rest of the predefined parameters ...
}
response = requests.post(url, json=payload)
response_data = response.json()
try:
return Image.open(io.BytesIO(base64.b64decode(response_data['images'][0])))
except KeyError:
error_image = Image.new('RGB', (512, 512), color=(73, 109, 137))
ImageDraw.Draw(error_image).text((10, 10), f"Error: {response_data.get('error', 'Unknown error')}", fill=(255, 255, 0))
return error_image
iface = gr.Interface(
fn=generate_image,
inputs=[
gr.Textbox(placeholder="Imagine something...", label="Prompt"),
gr.Slider(minimum=15, maximum=50, step=15, default=5, label="Steps"),
gr.Checkbox(label="Randomize Composition"),
gr.Checkbox(label="New Composition"),
gr.File(label="Upload Image")
],
outputs=gr.Image(label="Generated Image"),
live=False
)
iface.launch() |