Spaces:
Paused
Paused
| # app.py | |
| import streamlit as st | |
| import os | |
| from getpass import getpass | |
| from replicate import replicate | |
| from IPython.display import Image | |
| # Set up Replicate API token | |
| st.title('Stable Diffusion 3 Image Generation') | |
| if 'REPLICATE_API_TOKEN' not in os.environ: | |
| st.warning('Please set your Replicate API token. You can obtain it from https://replicate.com/account.') | |
| REPLICATE_API_TOKEN = st.text_input('Enter your Replicate API token:') | |
| if REPLICATE_API_TOKEN: | |
| os.environ["REPLICATE_API_TOKEN"] = REPLICATE_API_TOKEN | |
| else: | |
| st.write('API token is set.') | |
| # Function to generate image | |
| def generate_image(): | |
| output = replicate.run( | |
| "stability-ai/stable-diffusion-3", | |
| input={ | |
| "cfg": 4.5, | |
| "prompt": "a photo of vibrant artistic graffiti on a wall saying \"SD3 medium\"", | |
| "aspect_ratio": "3:2", | |
| "output_format": "webp", | |
| "output_quality": 79, | |
| "negative_prompt": "ugly, distorted" | |
| } | |
| ) | |
| return output[0] | |
| # Main Streamlit app | |
| def main(): | |
| st.subheader('Generate Image') | |
| if 'REPLICATE_API_TOKEN' in os.environ: | |
| image_url = generate_image() | |
| st.image(image_url) | |
| else: | |
| st.warning('Please set your Replicate API token to generate an image.') | |
| if __name__ == '__main__': | |
| main() | |