| import streamlit as st |
| from dotenv import load_dotenv |
| import os |
| import openai |
| from diffusers import StableDiffusionPipeline |
| import torch |
|
|
|
|
| load_dotenv() |
|
|
| os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY') |
|
|
| |
| def generate_images_using_openai(text): |
| response = openai.Image.create(prompt= text, n=1, size="512x512") |
| image_url = response['data'][0]['url'] |
| return image_url |
|
|
|
|
| |
| def generate_images_using_huggingface_diffusers(text): |
| pipe = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16) |
| pipe = pipe.to("cuda") |
| prompt = text |
| image = pipe(prompt).images[0] |
| return image |
|
|
| |
| choice = st.sidebar.selectbox("Select your Models", ["Home", "DALL-E", "Stable Diffusion"]) |
|
|
| if choice == "Home": |
| st.title("AI Image Gen") |
| st.write("By AezersX") |
| with st.expander("About the App"): |
| st.write("This is a simple image generation app that uses AI to generates images from text prompt.") |
|
|
| elif choice == "DALL-E": |
| st.subheader("Image generation using Open AI's DALL-E") |
| input_prompt = st.text_input("Enter your text prompt") |
| if input_prompt is not None: |
| if st.button("Generate Image"): |
| image_url = generate_images_using_openai(input_prompt) |
| st.image(image_url, caption="Generated by DALL-E") |
|
|
| elif choice == "Stable Diffusion": |
| st.subheader("Image generation using Stable Diffusion") |
| input_prompt = st.text_input("Enter your text prompt") |
| if input_prompt is not None: |
| if st.button("Generate Image"): |
| image_output = generate_images_using_huggingface_diffusers(input_prompt) |
| st.info("Generating image.....") |
| st.success("Image Generated Successfully") |
| st.image(image_output, caption="Generated by Stable Diffusion") |