tombetthauser's picture
Fix danny kids lookup table
51088c7
raw
history blame
2.46 kB
# !pip install -Uq diffusers transformers
# !pip install -Uq gradio
# !pip install -Uq accelerate
import gradio
from diffusers import StableDiffusionPipeline as pipeline
from accelerate import init_empty_weights
import torch
import os
api_key = os.environ['api_key']
my_token = api_key
with init_empty_weights():
pipe = pipeline.from_pretrained("CompVis/stable-diffusion-v1-4", revision="fp16", torch_dtype=torch.float16, use_auth_token=my_token).to("cuda")
DROPDOWNS = {
"gustav": " by dan mumford and gustav klimt and john harris and jean delville and victo ngai and josan gonzalez",
"hiyao": " by studio ghibli, by miyazaki, watercolor painting",
"vinny": " painting by Vincent van Gogh",
"danny": " drawn by a child",
}
def image_prompt(prompt, dropdown):
prompt = prompt + DROPDOWNS[dropdown]
return pipe(prompt=prompt, height=512, width=664).images[0]
with gradio.Blocks(css="""
#go-button {
background-color: white;
border-radius: 0;
border: none;
font-family: serif;
background-image: none;
font-weight: 100;
width: fit-content;
display: block;
margin-left: auto;
margin-right: auto;
text-decoration: underline;
box-shadow: none;
color: blue;
}
.rounded-lg {
border: none;
}
.gr-box {
border-radius: 0;
border: 1px solid black;
}
.text-gray-500 {
color: black;
font-family: serif;
font-size: 15px;
}
.border-gray-200 {
border: 1px solid black;
}
.bg-gray-200 {
background-color: white;
--tw-bg-opacity: 0;
}
footer {
display: none;
}
footer {
opacity: 0;
}
#output-image {
border: 1px solid black;
background-color: white;
width: 500px;
display: block;
margin-left: auto;
margin-right: auto;
}
.absolute {
display: none;
}
#input-text {
width: 500px;
display: block;
margin-left: auto;
margin-right: auto;
padding: 0 0 0 0;
}
.py-6 {
padding-top: 0;
padding-bottom: 0;
}
.px-4 {
padding-left: 0;
padding-right: 0;
}
.rounded-lg {
border-radius: 0;
}
""") as demo:
dropdown = gradio.Dropdown(["danny", "gustav", "hiyao", "vinny"])
prompt = gradio.Textbox(label="image prompt...", elem_id="input-text")
output = gradio.Image(elem_id="output-image")
go_button = gradio.Button("draw it!", elem_id="go-button")
go_button.click(fn=image_prompt, inputs=[prompt, dropdown], outputs=output)
demo.launch()