Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from huggingface_hub import InferenceClient | |
| import os | |
| from io import BytesIO | |
| from PIL import Image | |
| # Load API key from secrets | |
| api_key = os.getenv("HF_API_KEY") | |
| # Initialize the InferenceClient | |
| client = InferenceClient(api_key=api_key) | |
| st.title("🤖 AI Image Generator") | |
| # Text input for the image description | |
| prompt = st.text_input("Enter a prompt for image generation:", "a robot on a stallion.") | |
| if st.button("Generate Image"): | |
| if api_key: | |
| with st.spinner("Generating image... Please wait!"): | |
| # Generate image from Hugging Face model | |
| image = client.text_to_image(prompt, model="black-forest-labs/FLUX.1-dev") | |
| # Convert PIL Image to BytesIO | |
| img_buffer = BytesIO() | |
| image.save(img_buffer, format="PNG") | |
| img_bytes = img_buffer.getvalue() # Convert to bytes | |
| # Display image | |
| st.image(image, caption="Generated Image", use_column_width=True) | |
| # Provide download button | |
| st.download_button( | |
| label="Download Image", | |
| data=img_bytes, | |
| file_name="generated_image.png", | |
| mime="image/png" | |
| ) | |
| else: | |
| st.error("API key not found. Please set the `HF_API_KEY` in secrets.") | |