Spaces:
Running
Running
import gradio as gr | |
def predict_image(image,find,transform): | |
if(transform == "oreo cake"): | |
return("cake_oreo.png") | |
elif(transform == "ice"): | |
return("cake_ice.png") | |
elif(transform == "brioche"): | |
return("cake_brioche.png") | |
elif(transform == "spinach moss cake"): | |
return("cake_spinach.png") | |
def predict_video(image,find,transform): | |
if(transform == "stained glass giraffe"): | |
return("giraffe_stainedglass.mp4") | |
elif(transform == "giraffe with a neck warmer"): | |
return("giraffe_neck_warmer.mp4") | |
elif(transform=="giraffe with a hairy colorful mane"): | |
return("giraffe_hairy_colorful_mane.mp4") | |
#Image inputs | |
image_editing = gr.Image(label="Input image",interactive=False, value="cake.jpg") | |
prompt_find = gr.Textbox(label="What to find on the image", interactive=False, value="cake") | |
prompt_transform = gr.Textbox(label="What to turn the image into", interactive=False, value="oreo cake") | |
image_out = gr.Image(value="cake_oreo.png") | |
#results_image = ['cake_oreo.png',"cake_ice.png","cake_brioche.png", "cake_spinach.png"] | |
examples_image=[['cake.jpg','cake','oreo cake'], ['cake.jpg','cake','ice'], ['cake.jpg','cake','brioche'], ['cake.jpg','cake','spinach moss cake']] | |
#Video inputs | |
video_editing = gr.Video(label="Input video", interactive=False, value="giraffe.mp4") | |
prompt_find_video = gr.Textbox(label="What to find on the video", interactive=False, value="giraffe") | |
prompt_transform_video = gr.Textbox(label="What to turn the video into", interactive=False, value="giraffe with a neck warmer") | |
video_out = gr.Video(value="giraffe_neck_warmer.mp4") | |
#results_video = ['cake_oreo.png',"cake_ice.png","cake_brioche.png", "cake_spinach.png"] | |
examples_video=[['giraffe.mp4','giraffe','stained glass giraffe'], ['giraffe.mp4','giraffe','giraffe with a neck warmer'], ['giraffe.mp4','giraffe','giraffe with a hairy colorful mane']] | |
with gr.Blocks() as demo: | |
gr.Markdown('''# Text2LIVE: Text-Driven Layered Image and Video Editing | |
This an interactive pre-processed demo for Text2Live. Check out the [paper](https://arxiv.org/abs/2204.02491) and the [code](https://github.com/omerbt/Text2LIVE) and the [project page](https://text2live.github.io/) | |
''') | |
with gr.Tabs(): | |
with gr.TabItem("Image editing"): | |
gr.Interface( | |
fn=predict_image, | |
inputs=[image_editing, prompt_find, prompt_transform], | |
outputs=image_out, | |
examples=examples_image, | |
allow_flagging=False, | |
live=True) | |
with gr.TabItem("Video editing"): | |
gr.Interface( | |
fn=predict_video, | |
inputs=[video_editing, prompt_find_video, prompt_transform_video], | |
outputs=video_out, | |
examples=examples_video, | |
allow_flagging=False, | |
live=True) | |
gr.Markdown("Bibtex") | |
gr.Markdown('''``` | |
@article{bar2022text2live, | |
title = {Text2LIVE: Text-Driven Layered Image and Video Editing}, | |
author = {Bar-Tal, Omer and Ofri-Amar, Dolev and Fridman, Rafail and Kasten, Yoni and Dekel, Tali}, | |
journal = {arXiv preprint arXiv:2204.02491}, | |
year = {2022} | |
} | |
```''') | |
demo.launch(enable_queue=False) |