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.")