Spaces:
Running
Running
import gradio as gr | |
from model import Model | |
import os | |
def create_demo(model: Model): | |
examples = [ | |
['__assets__/pix2pix video/camel.mp4', 'make it Van Gogh Starry Night style'], | |
['__assets__/pix2pix video/mini-cooper.mp4', 'make it Picasso style'], | |
['__assets__/pix2pix video/snowboard.mp4', 'replace man with robot'], | |
['__assets__/pix2pix video/white-swan.mp4', 'replace swan with mallard'], | |
] | |
with gr.Blocks() as demo: | |
with gr.Row(): | |
gr.Markdown('## Video Instruct Pix2Pix') | |
with gr.Row(): | |
with gr.Column(): | |
input_image = gr.Video(label="Input Video",source='upload', type='numpy', format="mp4", visible=True).style(height="auto") | |
with gr.Column(): | |
prompt = gr.Textbox(label='Prompt') | |
run_button = gr.Button(label='Run') | |
with gr.Accordion('Advanced options', open=False): | |
image_resolution = gr.Slider(label='Image Resolution', | |
minimum=256, | |
maximum=1024, | |
value=512, | |
step=64) | |
seed = gr.Slider(label='Seed', | |
minimum=0, | |
maximum=65536, | |
value=0, | |
step=1) | |
start_t = gr.Slider(label='Starting time in seconds', | |
minimum=0, | |
maximum=10, | |
value=0, | |
step=1) | |
end_t = gr.Slider(label='End time in seconds (-1 corresponds to uploaded video duration)', | |
minimum=0, | |
maximum=10, | |
value=-1, | |
step=1) | |
out_fps = gr.Slider(label='Output video fps (-1 corresponds to uploaded video fps)', | |
minimum=1, | |
maximum=30, | |
value=-1, | |
step=1) | |
with gr.Column(): | |
result = gr.Video(label='Output', | |
show_label=True) | |
inputs = [ | |
input_image, | |
prompt, | |
image_resolution, | |
seed, | |
start_t, | |
end_t, | |
out_fps | |
] | |
gr.Examples(examples=examples, | |
inputs=inputs, | |
outputs=result, | |
# cache_examples=os.getenv('SYSTEM') == 'spaces', | |
run_on_click=False, | |
) | |
run_button.click(fn=model.process_pix2pix, | |
inputs=inputs, | |
outputs=result) | |
return demo | |