Logo_Gen / app.py
gskdsrikrishna's picture
Update app.py
d7288b3 verified
import streamlit as st
import requests
import os
# Load API key from environment variables (or manually set it)
api_key = os.getenv("KEY")
# Streamlit UI
st.title("AI Logo Generator 🎨")
st.write("Generate a unique logo for your business using AI!")
# User Inputs
prompt = st.text_input("Enter a description for the logo:", "Make a logo for my gaming company BTZ")
style = st.selectbox("Select a Logo Style:", [28, 29, 30], index=0) # Add more styles if available
size = st.radio("Select Image Size:", ["1-1", "2-3", "3-4"], index=0)
def generate_logo(prompt, style, size):
api_url = "https://ai-logo-generator.p.rapidapi.com/aaaaaaaaaaaaaaaaaiimagegenerator/quick.php"
headers = {
"x-rapidapi-key": api_key,
"x-rapidapi-host": "ai-logo-generator.p.rapidapi.com",
"Content-Type": "application/json"
}
payload = {
"prompt": prompt,
"style_id": style,
"size": size
}
response = requests.post(api_url, json=payload, headers=headers)
return response.json()
# Generate button
if st.button("Generate Logo"):
with st.spinner("Generating logo... Please wait!"):
result = generate_logo(prompt, style, size)
# Extracting image URLs from the JSON response
image_data = result.get("final_result", [])
if image_data:
st.subheader("Generated Logo Designs")
for index, image in enumerate(image_data):
image_url = image.get("origin") # Extracting the logo link
if image_url:
st.image(image_url, caption=f"Logo Design {index+1}", use_container_width=True)
# Download button with a unique key
st.download_button(
label="Download Logo",
data=requests.get(image_url).content,
file_name=f"logo_design_{index+1}.webp",
mime="image/webp",
key=f"download_{index}" # Unique key to prevent duplicate errors
)
else:
st.error("Failed to generate logo. No image URL found.")
st.write("Response Data:", result) # Debugging: Show full response data