|
import streamlit as st |
|
import openai |
|
import requests |
|
from PIL import Image |
|
from io import BytesIO |
|
|
|
|
|
openai.api_key = st.secrets["OPENAI_API_KEY"] |
|
|
|
st.title("Short-Form Video Backdrop and Image Generator") |
|
|
|
|
|
st.subheader("Define Your Business") |
|
business_type = st.text_input("Your Business Type", placeholder="e.g., Cafe, Florist, Yoga Studio") |
|
|
|
st.subheader("Video Backdrop Details") |
|
video_theme = st.text_input("Video Theme", placeholder="Enter a theme for your TikTok video (e.g., cozy cafe, floral arrangement, yoga session)") |
|
color_scheme = st.text_input("Color Scheme", placeholder="Preferred color scheme (e.g., pastel, vibrant, earth tones)") |
|
additional_elements = st.text_input("Additional Elements", placeholder="Any specific elements to include in the backdrop (e.g., coffee cups, flowers, yoga mats)") |
|
|
|
if st.button('Generate Image'): |
|
|
|
prompt = f"Create a vertical image that could be used in the background of a video on TikTok or Reels for a {business_type}. Theme: '{video_theme}', color scheme: '{color_scheme}', including elements: '{additional_elements}'." |
|
|
|
|
|
try: |
|
response = openai.Image.create( |
|
model="dall-e-3", |
|
prompt=prompt, |
|
n=1, |
|
size="1024x1792", |
|
quality="standard" |
|
) |
|
|
|
|
|
image_url = response['data'][0]['url'] |
|
|
|
|
|
image_response = requests.get(image_url) |
|
image = Image.open(BytesIO(image_response.content)) |
|
|
|
|
|
st.image(image, caption='Generated Business Video Backdrop Image') |
|
|
|
except Exception as e: |
|
st.error(f"An error occurred: {e}") |
|
|