import streamlit as st
from freeGPT import Client
from PIL import Image
from io import BytesIO
import os
import requests

st.sidebar.title("Stable Diffusion SDXL-Turbo", help="Made with API")
st.sidebar.subheader("By KVI Kontent")
st.sidebar.write("Choose model and enter prompt")

model = st.sidebar.selectbox("Choose Model", ("prodia", "pollinations", "Dall-e 3"))

prompt = st.sidebar.text_input("Prompt", "")

if prompt:
    if model == "prodia" or model == "pollinations":
        try:
            resp = Client.create_generation(model, prompt)
            image = Image.open(BytesIO(resp))
            st.image(image, caption="Generated Image")
        except Exception as e:
            st.error(str(e))