File size: 947 Bytes
7923b76
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import streamlit as st
from huggingface_hub import HfApi, ModelFilter, InferenceClient

if 'models' not in st.session_state:

    hf_api = HfApi()
    st.session_state.models = sorted(list(hf_api.list_models(
        filter=ModelFilter(
            task="text-to-image",
            library="diffusers",
        )
    )), key=lambda x: x.downloads, reverse=True)

def format_model(model):
    return f"{model.modelId} (⬇️ {model.downloads}, ❤️ {model.likes})"


st.title("Text to Image Model testing")
st.session_state.token = st.text_input("Enter your API token", type="password")
user_input = st.text_input("Your prompt")
model_name = st.selectbox("Select", st.session_state.models, format_func=format_model)

if model_name and user_input and st.session_state.token:
    model_name = model_name.modelId
    client = InferenceClient(model_name, token=st.session_state.token)
    pred = client.text_to_image(user_input)
    st.image(pred)