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