Spaces:
Runtime error
Runtime error
import streamlit as st | |
import openai | |
import requests | |
from PIL import Image | |
from io import BytesIO | |
# Set up the OpenAI API key from Hugging Face Spaces secrets | |
openai.api_key = st.secrets["OPENAI_API_KEY"] | |
st.title("Background Image Generator for Real Estate Videos") | |
# User inputs | |
image_theme = st.text_input("Image Theme", placeholder="Enter a theme for your image (e.g., modern living room)") | |
color_scheme = st.text_input("Color Scheme", placeholder="Preferred color scheme (e.g., warm, cool)") | |
additional_elements = st.text_input("Additional Elements", placeholder="Any specific elements to include in the image?") | |
image_style = st.selectbox("Image Style", ["vivid", "natural"], index=0) # Select between vivid and natural styles | |
image_quality = st.selectbox("Image Quality", ["standard", "hd"], index=0) # Select between standard and HD quality | |
if st.button('Generate Image'): | |
# Construct the prompt | |
prompt = f"Create an image with the theme: '{image_theme}', color scheme: '{color_scheme}', including elements: '{additional_elements}'." | |
# Call the DALL-E API | |
try: | |
response = openai.Image.create( | |
model="dall-e-3", # Specify DALL-E 3 model | |
prompt=prompt, | |
n=1, # Number of images to generate | |
size="1024x1024", # Image dimensions | |
quality=image_quality, # Image quality parameter | |
style=image_style # Image style parameter | |
) | |
# Assuming the response contains a URL to the image | |
image_url = response['data'][0]['url'] | |
# Fetch the image from the URL | |
image_response = requests.get(image_url) | |
image = Image.open(BytesIO(image_response.content)) | |
# Display the image | |
st.image(image, caption='Generated Image') | |
except Exception as e: | |
st.error(f"An error occurred: {e}") | |