Spaces:
Paused
Paused
File size: 2,141 Bytes
a00b386 5c3bd86 a00b386 5c3bd86 a00b386 5c3bd86 a00b386 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
import gradio as gr
from modelscope.pipelines import pipeline
from modelscope.outputs import OutputKeys
pipe = pipeline(task='image-to-video', model='damo/Image-to-Video', model_revision='v1.1.0')
def infer (image_in):
# IMG_PATH: your image path (url or local file)
IMG_PATH = image_in
output_video_path = pipe(IMG_PATH, output_video='output.mp4')[OutputKeys.OUTPUT_VIDEO]
print(output_video_path)
return output_video_path
css="""
#col-container {
max-width: 780px;
margin-left: auto;
margin-right: auto;
}
img[src*='#center'] {
display: block;
margin: auto;
}
.footer {
margin-bottom: 45px;
margin-top: 10px;
text-align: center;
border-bottom: 1px solid #e5e5e5;
}
.footer > p {
font-size: .8rem;
display: inline-block;
padding: 0 10px;
transform: translateY(10px);
background: white;
}
.dark .footer {
border-color: #303030;
}
.dark .footer > p {
background: #0b0f19;
}
"""
with gr.Blocks(css=css) as demo:
with gr.Column(elem_id="col-container"):
gr.Markdown("""
<h1 style="text-align: center;">
MS Image2Video
</h1>
[](https://huggingface.co/spaces/fffiloni/MS-Image2Video-cloning?duplicate=true)
""")
image_in = gr.Image(
label = "Source Image",
source = "upload",
type = "filepath"
)
submit_btn = gr.Button(
"Submit"
)
video_out = gr.Video(
label = "Video Result"
)
gr.HTML("""
<div class="footer">
<p>
MS-Image2Video Demo by 🤗 <a href="https://twitter.com/fffiloni" target="_blank">Sylvain Filoni</a>
</p>
</div>
""")
submit_btn.click(
fn = infer,
inputs = [
image_in
],
outputs = [
video_out
]
)
demo.queue(max_size=20).launch()
|