|
|
import gradio as gr |
|
|
from gradio_client import Client |
|
|
import spaces |
|
|
|
|
|
def text_to_image(prompt): |
|
|
from gradio.context import LocalContext |
|
|
request = LocalContext.request.get(None) |
|
|
print(f"Request available in text_to_image: {request is not None} {request}") |
|
|
print("x-ip", request.headers["x-ip-token"]) |
|
|
client = Client("hysts/SDXL") |
|
|
img = client.predict(prompt, api_name="/predict") |
|
|
return img |
|
|
|
|
|
@spaces.GPU |
|
|
def generate(prompt): |
|
|
from gradio.context import LocalContext |
|
|
request = LocalContext.request.get(None) |
|
|
print(f"Request available in generate: {request is not None} {request}") |
|
|
print("x-ip", request.headers["x-ip-token"]) |
|
|
return text_to_image(prompt) |
|
|
|
|
|
with gr.Blocks() as demo: |
|
|
image = gr.Image() |
|
|
prompt = gr.Textbox(max_lines=1) |
|
|
button = gr.Button("Chain") |
|
|
prompt.submit(generate, [prompt], [image]) |
|
|
button.click(lambda x:x+x, button, button).then(generate, [prompt], [image]) |
|
|
|
|
|
demo.launch() |
|
|
|