import gradio as gr from model import Model from functools import partial import os examples = [ ["an astronaut waving the arm on the moon"], ["a sloth surfing on a wakeboard"], ["an astronaut walking on a street"], ["a cute cat walking on grass"], ["a horse is galloping on a street"], ["an astronaut is skiing down the hill"], ["a gorilla walking alone down the street"], ["a gorilla dancing on times square"], ["A panda dancing dancing like crazy on Times Square"], ] def create_demo(model: Model): with gr.Blocks() as demo: with gr.Row(): gr.Markdown('## Text2Video-Zero: Video Generation') with gr.Row(): gr.HTML( """

Description: Simply input **any textual prompt** to generate videos right away and unleash your creativity and imagination! You can also select from the examples below. For performance purposes, our current preview release generates only 8 output frames and output 4s videos.

""") with gr.Row(): with gr.Column(): prompt = gr.Textbox(label='Prompt') run_button = gr.Button(label='Run') with gr.Accordion('Advanced options', open=False): motion_field_strength_x = gr.Slider(label='Global Translation $\delta_{x}$', minimum=-20, maximum=20, value=12, step=1) motion_field_strength_y = gr.Slider(label='Global Translation $\delta_{y}$', minimum=-20, maximum=20, value=12, step=1) # a_prompt = gr.Textbox(label="Added Prompt", value='best quality, extremely detailed') n_prompt = gr.Textbox(label="Optional Negative Prompt", value='') with gr.Column(): result = gr.Video(label="Generated Video") inputs = [ prompt, motion_field_strength_x, motion_field_strength_y, n_prompt ] gr.Examples(examples=examples, inputs=inputs, outputs=result, # cache_examples=os.getenv('SYSTEM') == 'spaces', run_on_click=False, ) run_button.click(fn=model.process_text2video, inputs=inputs, outputs=result,) return demo