|
from openai import OpenAI |
|
import gradio as gr |
|
import requests |
|
from PIL import Image |
|
from io import BytesIO |
|
import os |
|
client = OpenAI(base_url=os.environ['BASE_URL'], api_key=os.environ['API_KEY']) |
|
|
|
def generate(prompt): |
|
response = client.images.generate( |
|
model="sdxl-lightning-4step", |
|
prompt=prompt |
|
) |
|
imagebytes = requests.get(response.data[0].url) |
|
image = Image.open(BytesIO(imagebytes.content)) |
|
return image |
|
|
|
with gr.Blocks() as demo: |
|
gr.Markdown("## SDXL Lightning Image Generator") |
|
with gr.Row(equal_height=True): |
|
promptbox = gr.Textbox(label="Prompt", placeholder="Enter your prompt") |
|
generatebtn = gr.Button(value="Generate", variant="primary") |
|
outputimg = gr.Image(width=1024, height=512) |
|
generatebtn.click( |
|
fn=generate, |
|
inputs=promptbox, |
|
outputs=outputimg |
|
) |
|
demo.launch() |