|
import gradio as gr |
|
|
|
from util.v3d import generate_v3d, prep |
|
|
|
|
|
model, clip_model, ae_model, device, num_frames, num_steps, rembg_session, output_folder = prep() |
|
|
|
_TITLE = "Shoe Generator" |
|
with gr.Blocks(_TITLE) as ShoeGen: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
with gr.Tab("Image to Video Generator (V3D)"): |
|
with gr.Row(equal_height=True): |
|
with gr.Column(): |
|
input_image = gr.Image(value=None, label="Input Image") |
|
|
|
border_ratio_slider = gr.Slider( |
|
value=0.3, |
|
label="Border Ratio", |
|
minimum=0.05, |
|
maximum=0.5, |
|
step=0.05, |
|
) |
|
decoding_t_slider = gr.Slider( |
|
value=1, |
|
label="Number of Decoding frames", |
|
minimum=1, |
|
maximum=num_frames, |
|
step=1, |
|
) |
|
min_guidance_slider = gr.Slider( |
|
value=3.5, |
|
label="Min CFG Value", |
|
minimum=0.05, |
|
maximum=0.5, |
|
step=0.05, |
|
) |
|
max_guidance_slider = gr.Slider( |
|
value=3.5, |
|
label="Max CFG Value", |
|
minimum=0.05, |
|
maximum=0.5, |
|
step=0.05, |
|
) |
|
run_button = gr.Button(value="Run V3D") |
|
|
|
with gr.Column(): |
|
output_video = gr.Video(value=None, label="Output Orbit Video") |
|
|
|
run_button.click(generate_v3d, |
|
inputs=[ |
|
input_image, |
|
model, |
|
clip_model, |
|
ae_model, |
|
num_frames, |
|
num_steps, |
|
int(decoding_t_slider), |
|
border_ratio_slider, |
|
False, |
|
rembg_session, |
|
output_folder, |
|
min_guidance_slider, |
|
max_guidance_slider, |
|
device, |
|
], |
|
outputs=[output_video], |
|
) |
|
|
|
ShoeGen.launch() |
|
|