agentsvalley's picture
Update app.py
dd0006c verified
import gradio as gr
from huggingface_hub import InferenceClient
from PIL import Image
import io
import os
API_KEY = os.getenv("HF_API_TOKEN")
MODEL_NAME = "stabilityai/stable-diffusion-3.5-large"
client = InferenceClient(api_key=API_KEY)
def generate_image(prompt):
"""Generate an image from a text prompt using Hugging Face API."""
try:
image = client.text_to_image(prompt, model=MODEL_NAME)
img_byte_array = io.BytesIO()
image.save(img_byte_array, format="PNG")
img_byte_array.seek(0)
return image
except Exception as e:
return f"Error generating image: {e}"
css = """
body {
background: linear-gradient(135deg, #121212, #1e1e2e);
color: white;
font-family: 'Poppins', sans-serif;
text-align: center;
}
.gradio-container {
background: rgba(30, 30, 46, 0.9);
padding: 25px;
border-radius: 12px;
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3);
max-width: 600px;
margin: auto;
}
button {
background: linear-gradient(135deg, #ff416c, #ff4b4b);
color: white;
border: none;
border-radius: 10px;
font-size: 18px;
padding: 12px;
transition: 0.3s;
}
button:hover {
background: linear-gradient(135deg, #ff4b4b, #ff416c);
transform: scale(1.05);
}
h1, h2, h3, p, label {
color: white !important;
}
input, textarea {
background: #252537;
color: white;
border: 1px solid #444;
padding: 10px;
border-radius: 8px;
}
"""
with gr.Blocks(css=css) as demo:
gr.Markdown(
"<h2 style='color: white; font-size: 35px; font-weight: 600; margin-bottom: 100px;'>AI image Generator powered by Agents Valley 🤖</h2>"
)
gr.Markdown(
"<h2 style='color: white; font-size: 15px; font-weight: 600; margin-bottom: 100px;'>Stable-Diffusion-3.5-Large</h2>"
)
prompt_input = gr.Textbox(label="Enter your prompt", value="A Dog is jumping..")
output_image = gr.Image(label="Generated Image by Agents Valley")
generate_button = gr.Button("Generate Image")
generate_button.click(fn=generate_image, inputs=prompt_input, outputs=output_image)
demo.launch()