Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| # import openai | |
| from streamlit_extras.stylable_container import stylable_container | |
| from dotenv import load_dotenv | |
| import replicate | |
| import os | |
| load_dotenv() | |
| REPLICATE_API_TOKEN = os.environ.get("REPLICATE_API_TOKEN") | |
| replicate = replicate.Client(api_token=REPLICATE_API_TOKEN) | |
| streamlit_style = """ | |
| <style> | |
| #MainMenu {visibility: hidden;} | |
| footer {visibility: hidden;} | |
| video{width:200px;} | |
| .css-1wbqy5l {visibility: hidden;} | |
| .css-15zrgzn {visibility: hidden;} | |
| .css-klqnuk {visibility: hidden;} | |
| .en6cib64 {visibility: hidden;} | |
| .css-1u4fkce {visibility: hidden;} | |
| .en6cib62 {visibility: hidden;} | |
| .css-19rxjzo, .ef3psqc11 { | |
| background-color: purple; | |
| text-color: white; | |
| } | |
| div.stButton > button:first-child { | |
| background-color: red; | |
| text-weight: bold; | |
| } | |
| </style> | |
| """ | |
| def page5(): | |
| # st.title("Text to Image") | |
| with stylable_container( | |
| key="title", | |
| css_styles=[ | |
| """ span { | |
| text-align: center; | |
| padding-top: 0px; | |
| padding-right: 0px; | |
| padding-bottom: 0px; | |
| padding-left: 0px; | |
| }""" | |
| , | |
| """ | |
| st-emotion-cache-0{ | |
| text-align: center; | |
| padding-top: 0px; | |
| padding-right: 0px; | |
| padding-bottom: 0px; | |
| padding-left: 0px; | |
| }""", | |
| """ | |
| .e1f1d6gn0{ | |
| text-align: center; | |
| padding-top: 0px; | |
| padding-right: 0px; | |
| padding-bottom: 0px; | |
| padding-left: 0px; | |
| } | |
| """, | |
| ], | |
| ): | |
| st.markdown("<h3>Text to Image<h3>", unsafe_allow_html=True) | |
| st.markdown(streamlit_style, unsafe_allow_html=True) | |
| # st.info("""#### NOTE: you can download image by \ | |
| # right clicking on the image and select save image as option""") | |
| with st.form(key='form'): | |
| prompt = st.text_input(label='Enter text prompt for image generation') | |
| placeholder=st.empty() | |
| col1,col2=placeholder.columns(2) | |
| number_of_image = col1.number_input("Number of Images to Generate", step=1, min_value=1, max_value=8, value=1, placeholder="Type a number...") | |
| # size = st.selectbox('Select size of the images', | |
| # ('256x256', '512x512', '1024x1024')) | |
| # num_images = st.selectbox('Enter number of images to be generated', (1,2,3,4)) | |
| submit_button = st.form_submit_button(label='Generate Image') | |
| if submit_button: | |
| if prompt and number_of_image: | |
| with st.spinner("Generating Image"): | |
| outputs = replicate.run( | |
| "stability-ai/stable-diffusion:ac732df83cea7fff18b8472768c88ad041fa750ff7682a21affe81863cbe77e4", | |
| input={ | |
| "width": 768, | |
| "height": 448, | |
| "prompt": prompt, | |
| "scheduler": "K_EULER", | |
| "num_outputs": number_of_image, | |
| "guidance_scale": 7.5, | |
| "num_inference_steps": 50 | |
| } | |
| ) | |
| # for output in outputs: | |
| # st.image(output,caption=prompt) | |
| placeholder=st.empty() | |
| col1,col2=placeholder.columns(2) | |
| for index, output in enumerate(outputs): | |
| if index%2==0: | |
| col1.image(output,caption=prompt) | |
| else: | |
| col2.image(output,caption=prompt) |