ImageGenerator / app.py
SNA-AI's picture
Update app.py
2068d48 verified
Raw
History Blame Contribute Delete
1.64 kB
import gradio as gr
import os
from huggingface_hub import InferenceClient
# πŸ”‘ token
HF_TOKEN = os.getenv("image")
client = InferenceClient(
model="stabilityai/stable-diffusion-xl-base-1.0",
token=HF_TOKEN
)
def generate_image(prompt, width, height):
if not prompt.strip():
return None, "⚠️ Enter prompt"
try:
image = client.text_to_image(
prompt,
width=int(width),
height=int(height)
)
return image, "βœ… Image generated"
except Exception as e:
return None, f"❌ Error: {str(e)}"
# 🎨 CLEAN MODERN UI
with gr.Blocks(
theme=gr.themes.Soft(
primary_hue="blue",
secondary_hue="sky",
neutral_hue="gray"
)
) as app:
# βœ… MAIN TITLE (fixed visibility)
gr.Markdown(
"""
# 🎨 AI Text β†’ Image Generator
### ✨ Generate high-quality AI images using Stable Diffusion
""",
elem_id="title"
)
with gr.Row():
prompt = gr.Textbox(
label="✍️ Enter Prompt",
placeholder="A futuristic city at night, cinematic lighting...",
lines=3
)
with gr.Row():
width = gr.Slider(256, 1024, value=768, step=64, label="πŸ“ Width")
height = gr.Slider(256, 1024, value=768, step=64, label="πŸ“ Height")
with gr.Row():
btn = gr.Button("πŸš€ Generate Image", variant="primary")
output_img = gr.Image(label="πŸ–ΌοΈ Result", type="pil")
status = gr.Textbox(label="πŸ“’ Status")
btn.click(generate_image, [prompt, width, height], [output_img, status])
app.launch()