File size: 1,478 Bytes
a9ef680 a659d08 a9ef680 238da03 a9ef680 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
import streamlit as st
import requests
import io
from PIL import Image
import os
# API Configuration
API_URL = "https://api-inference.huggingface.co/models/black-forest-labs/FLUX.1-dev"
headers = {"Authorization": f"Bearer {os.getenv('HF')}"}
# Function to query the Hugging Face API
def query(payload):
response = requests.post(API_URL, headers=headers, json=payload)
return response.content
# Streamlit UI
st.title("AI Image Generator π¨π")
st.write("Enter a prompt below and generate an AI-generated image using Hugging Face!")
# User Input
prompt = st.text_input("Enter your prompt:", "Astronaut riding a horse")
if st.button("Generate Image"):
if prompt:
st.write("Generating image... Please wait β³")
image_bytes = query({"inputs": prompt})
# Display Image
image = Image.open(io.BytesIO(image_bytes))
st.image(image, caption="Generated Image", use_container_width=True)
# Convert Image to Bytes for Download
img_buffer = io.BytesIO()
image.save(img_buffer, format="PNG")
img_buffer.seek(0)
# Download Button
st.download_button(
label="Download Image π₯",
data=img_buffer,
file_name="generated_image.png",
mime="image/png"
)
else:
st.warning("Please enter a prompt before generating an image.")
# Footer
st.write("---")
st.write("Powered by [Hugging Face](https://huggingface.co/) π")
|