Spaces:
Sleeping
Sleeping
| import openai | |
| import streamlit as st | |
| from PIL import Image | |
| import requests | |
| from io import BytesIO | |
| # Function to generate image from OpenAI API | |
| def generate_image_from_text(text): | |
| try: | |
| response = openai.Image.create( | |
| prompt=text, # The text prompt for the image | |
| n=1, # Number of images to generate | |
| size="1024x1024" # Size of the image | |
| ) | |
| # Extracting the image URL from the response | |
| image_url = response['data'][0]['url'] | |
| return image_url | |
| except Exception as e: | |
| st.error(f"Error generating image: {e}") | |
| return None | |
| # Streamlit UI for Image Generation | |
| if __name__ == "__main__": | |
| st.title("Test OpenAI Image Generation API") | |
| # Load OpenAI API key securely | |
| openai.api_key = st.secrets["OPENAI_API_KEY"] | |
| user_input = st.text_input("Enter text for image generation:") | |
| if st.button("Generate Image"): | |
| if user_input: | |
| image_url = generate_image_from_text(user_input) | |
| if image_url: | |
| # Fetch the image from the URL and display it | |
| response = requests.get(image_url) | |
| if response.status_code == 200: | |
| img = Image.open(BytesIO(response.content)) | |
| st.image(img, caption="Generated Image") | |
| else: | |
| st.error("Failed to fetch image.") | |
| else: | |
| st.error("Image generation failed.") | |
| else: | |
| st.error("Please enter text to generate an image.") | |