# %%
import gradio as gr
example_generated_ape_super = "examples/generated_ape_super_resolution.jpg"
example_generated_ape = "examples/generated_ape.png"
example_stylish_ape = "examples/stylish_ape.png"
example_style_starry_night = "examples/starry_night.jpeg"
examples = [
[example_generated_ape, example_style_starry_night, False],
["examples/another_generated_ape.png", "examples/The Scream (1893) by Edvard Munch.jpg", False],
["examples/ape02.png", "examples/Self-Portrait Without a Beard (1889) by Vincent van Gogh.jpg", True],
["examples/ape03.png", "examples/Oberon, Titania, and Puck with Fairies Dancing (1786) by William Blake.jpg", True],
]
ape_gen = gr.Interface.load("spaces/ykilcher/apes")
super_resolution = gr.Interface.load("spaces/akhaliq/SwinIR")
style_transfer = gr.Interface.load("spaces/aravinds1811/neural-style-transfer")
def generate_ape(num_images=1, interpolate=False):
return ape_gen(num_images, interpolate)
def perform_style_transfer(content_image, style_image, is_super_resolution=False):
stylish_ape = style_transfer(content_image, style_image)
if is_super_resolution:
stylish_ape = super_resolution(stylish_ape)
return stylish_ape
# %%
with gr.Blocks() as demo:
button_generate_ape = gr.Button("Generate Ape")
generated_ape = gr.Image(example_generated_ape, label="Generated Ape", type="filepath")
style_image_input = gr.Image(example_style_starry_night, label="Stylish Image", type="filepath")
style_in_super_resolution = gr.Checkbox(True, label="Super resolution!")
stylish_ape = gr.Image(example_stylish_ape, label="Stylish Ape")
gr.Interface(
fn=perform_style_transfer,
inputs=[generated_ape, style_image_input, style_in_super_resolution],
outputs=stylish_ape,
examples=examples,
allow_flagging="never",
)
with gr.Row():
gr.Markdown("Apes by ykilcher, style transfer by Neural Style Transfer, and super resolution by SwinIR.")
with gr.Row():
gr.Markdown("![visitor badge](https://visitor-badge.glitch.me/badge?page_id=gradio-blocks_stylish_ape)")
button_generate_ape.click(generate_ape, inputs=[], outputs=generated_ape)
demo.launch(enable_queue=False)
# %%