Spaces:
Runtime error
Runtime error
import os | |
import base64 | |
import requests | |
from PIL import Image | |
from io import BytesIO | |
import gradio as gr | |
hf_token = os.environ.get('hf_token') | |
API_URL = os.environ.get('api_url') | |
headers = { | |
"Accept" : "application/json", | |
"Authorization": f"Bearer {hf_token}", | |
"Content-Type": "application/json" | |
} | |
# helper to decode input image | |
def decode_base64_image(image_string): | |
base64_image = base64.b64decode(image_string) | |
buffer = BytesIO(base64_image) | |
image = Image.open(buffer) | |
return image | |
def predict(prompt, temperature, guidance_scale, num_inference_steps, seed): | |
payload = { | |
"inputs": prompt, | |
"temperature": temperature, | |
"guidance_scale": guidance_scale, | |
"num_inference_steps": num_inference_steps, | |
"seed": seed | |
} | |
response = requests.post(API_URL, headers=headers, json=payload) | |
output = response.json() | |
image = decode_base64_image(image_string=output) | |
return image | |
demo = gr.Interface( | |
predict, | |
inputs=[ | |
gr.Textbox(label='Prompt'), | |
gr.Slider(0.1, 5.0, label='Temperature', step=0.1, value=1.0), | |
gr.Slider(0.1, 15.0, label='Guidance Scale', step=0.1, value=7.5), | |
gr.Slider(1, 100, label='Number of inference steps', step=1, value=50), | |
gr.Slider(1, 100, label='Seed', step=1, value=42), | |
], | |
outputs="image", | |
title="Android toy SD demo", | |
description="Generate images with android toy!! Just specify an android toy somewhere in the prompt or click on the example provided below. The first run could take up to 2 minutes if the model is sleeping, then approximately 9 seconds per one request", | |
examples=[["An android toy near Eiffel Tower", 1.0, 7.5, 50, 42], | |
["A blue android toy in snow near Eiffel Tower in winter", 1.0, 7.5, 50, 42], | |
["An android toy on top of a brick", 1.0, 7.5, 50, 42]], | |
cache_examples=True | |
) | |
demo.launch() |