|
|
|
import streamlit as st |
|
from huggingface_hub import InferenceClient |
|
import os |
|
|
|
def create_image(prompt): |
|
""" |
|
Creating an image from a text prompt. |
|
""" |
|
|
|
image = client.text_to_image( |
|
prompt, |
|
model="nerijs/dark-fantasy-illustration-flux" |
|
) |
|
|
|
return image |
|
|
|
def Interface(): |
|
""" |
|
Creating a streamlit interface |
|
""" |
|
|
|
st.set_page_config( |
|
page_title="Dark Fantasy Image Generator", |
|
page_icon="π¦βπ₯", |
|
layout="wide", |
|
initial_sidebar_state="expanded", |
|
) |
|
|
|
st.title('Dark Fantasy Image Generator') |
|
st.caption('A project by Shivam Shinde') |
|
|
|
prompt = st.text_area('Image Description') |
|
if st.button('Generate Image'): |
|
image = create_image(prompt) |
|
st.image(image, caption="Image generated by the model: 'nerijs/dark-fantasy-illustration-flux'", use_container_width=True) |
|
|
|
|
|
if __name__ == "__main__": |
|
|
|
|
|
API_KEY = os.getenv("DarkFantasyImageGeneratorApp") |
|
|
|
|
|
if not API_KEY: |
|
raise st.error("API Key not found.") |
|
|
|
|
|
client = InferenceClient(token=API_KEY) |
|
|
|
|
|
Interface() |
|
|