Spaces:
Runtime error
Runtime error
File size: 4,229 Bytes
3da52d6 60931f6 3da52d6 e876014 3da52d6 82679a0 c86f2ac 82679a0 60931f6 3da52d6 60931f6 c86f2ac 60931f6 3da52d6 60931f6 c86f2ac 3da52d6 c86f2ac 60931f6 3da52d6 c86f2ac 60931f6 3da52d6 c86f2ac 60931f6 c86f2ac 3da52d6 c86f2ac 82679a0 3da52d6 60931f6 82679a0 60931f6 |
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 |
import os
import gradio as gr
from modelscope.pipelines import pipeline
from modelscope.outputs import OutputKeys
image_to_video_pipe = pipeline(task="image-to-video", model='damo/i2vgen-xl', model_revision='v1.1.4', device='cuda:0')
# Get the current working directory
current_directory = os.path.dirname(os.path.realpath(__file__))
print("", current_directory)
def upload_file(file):
return file.name
def image_to_video(image_in, text_in):
if image_in is None:
raise gr.Error('Please upload the image or wait for the image upload to complete')
print(image_in)
output_video_path = image_to_video_pipe(image_in, caption=text_in)[OutputKeys.OUTPUT_VIDEO]
print(output_video_path)
return output_video_path
with gr.Blocks() as demo:
gr.Markdown(
"""<center><font size=7>COLIPIC.AI-XLv2</center>
<left><font size=3>SRI LANKA</left>
<left><font size=3>COLIPIC.AI-XLv2 can generate videos with similar contents and semantics based on user input static images and text. The generated videos have characteristics such as high-definition (1280 * 720), widescreen (16:9), coherent timing, and good texture.</left>
"""
)
with gr.Box():
gr.Markdown(
"""<left><font size=3></left>
<left><font size=3>Please choose the image to upload (we recommend the image size be 1280 * 720), provide the English text description of the video you wish to create, and then click on "Generate Video" to receive the generated video.</left>"""
)
with gr.Row():
with gr.Column():
text_in = gr.Textbox(label="Text description", lines=2, elem_id="text-in")
image_in = gr.Image(label="Image Input", type="filepath", interactive=False, elem_id="image-in", height=300)
with gr.Row():
upload_image = gr.UploadButton("Upload Image", file_types=["image"], file_count="single")
image_submit = gr.Button("Generate video")
with gr.Column():
video_out_1 = gr.Video(label='Generated Video', elem_id='video-out_1', interactive=False, height=300)
gr.Markdown("""<left><font size=2></left>
<left><font size=2>Note: If the generated video cannot be played, please try to upgrade your browser or use the Chrome browser.</left>"""
)
upload_image.upload(upload_file, upload_image, image_in, queue=False)
image_submit.click(fn=image_to_video, inputs=[image_in, text_in], outputs=[video_out_1])
with gr.Row(variant="panel"):
gr.Examples(examples=[
[os.path.join(current_directory, 'example_images/sample2.png'), 'A girl with yellow hair and black clothes stood in front of the camera'],
[os.path.join(current_directory, 'example_images/sample13.png'), 'A girl in hat and sunglasses'],
[os.path.join(current_directory, 'example_images/sample6.png'), 'Papers were floating in the air on a table in the library'],
[os.path.join(current_directory, 'example_images/sample12.jpg'),'Night sky lit with milky way galaxy'],
[os.path.join(current_directory, 'example_images/sample1.png'), 'A blonde girl in jeans'],
[os.path.join(current_directory, 'example_images/sample11.jpg'),'A wet road between the woods'],
[os.path.join(current_directory, 'example_images/sample5.png'), 'A painting of a city street with a giant monster'],
[os.path.join(current_directory, 'example_images/sample7.png'), 'A red woodcut bird'],
[os.path.join(current_directory, 'example_images/sample8.jpg'), 'A green frog floats on the surface of the water on green lotus leaves, with several pink lotus flowers, in a Chinese painting style.']
],
inputs=[image_in, text_in],
outputs=[video_out_1],
fn=image_to_video,
cache_examples=True,
examples_per_page=5,
label='Examples',
)
demo.queue(status_update_rate=1, api_open=False).launch(share=False, show_error=True)
|