Spaces:
Build error
Build error
import gradio as gr | |
from text_to_animation.model import ControlAnimationModel | |
from webui.app_pose import create_demo as create_demo_pose | |
from webui.app_text_to_video import create_demo as create_demo_text_to_video | |
from webui.app_control_animation import create_demo as create_demo_animation | |
import argparse | |
import os | |
import jax.numpy as jnp | |
huggingspace_name = os.environ.get("SPACE_AUTHOR_NAME") | |
on_huggingspace = huggingspace_name if huggingspace_name is not None else False | |
model = ControlAnimationModel(device="cuda", dtype=jnp.float16) | |
parser = argparse.ArgumentParser() | |
parser.add_argument( | |
"--public_access", | |
action="store_true", | |
help="if enabled, the app can be access from a public url", | |
default=False, | |
) | |
args = parser.parse_args() | |
title = """ | |
<div style="text-align: center; max-width: 1200px; margin: 20px auto;"> | |
<h1 style="font-weight: 900; font-size: 3rem; margin: 0rem">Control Animation</h1> | |
""" | |
description = """ | |
<div style="text-align: center; max-width: 1200px; margin: 20px auto;"> | |
<h2 style="font-weight: 450; font-size: 1rem; margin-top: 0.5rem; margin-bottom: 0.5rem"> | |
Our code uses <a href="https://www.humphreyshi.com/home">Text2Video-Zero</a> and the <a href="https://github.com/huggingface/diffusers">Diffusers</a> library as inspiration. | |
</h2> | |
</div> | |
""" | |
notice = """ | |
<p>For faster inference without waiting in queue, you may duplicate the space and upgrade to GPU in settings. | |
<br/> | |
<a href="https://github.com/Pie31415/control-animation"> | |
<img style="margin-top: 0em; margin-bottom: 0em" src="https://bit.ly/3gLdBN6" alt="Duplicate Space"></a> | |
</p> | |
""" | |
with gr.Blocks(css="style.css") as demo: | |
gr.Markdown(title) | |
gr.Markdown(description) | |
if on_huggingspace: | |
gr.HTML(notice) | |
# NOTE: In our final demo we should consider removing zero-shot t2v and pose conditional | |
with gr.Tab("Control Animation"): | |
create_demo_animation(model) | |
# with gr.Tab("Zero-Shot Text2Video"): | |
# create_demo_text_to_video(model) | |
# with gr.Tab("Pose Conditional"): | |
# create_demo_pose(model) | |
if on_huggingspace: | |
demo.queue(max_size=20) | |
demo.launch(debug=True) | |
else: | |
_, _, link = demo.queue(api_open=False).launch( | |
file_directories=["temporal"], share=args.public_access, debug=True | |
) | |
print(link) | |