liuyuyuil's picture
Update app.py
2a7ed44 verified
import os
os.system('pip install dashscope')
import gradio as gr
from http import HTTPStatus
import dashscope
from dashscope import VideoSynthesis
DASHSCOPE_API_KEY = os.getenv('DASHSCOPE_API_KEY')
dashscope.api_key = DASHSCOPE_API_KEY
def video_generation(prompt):
try:
rsp = VideoSynthesis.call(model="wanx2.1-t2v-plus", prompt=prompt, watermark_wanx=True)
video_url = rsp.output.video_url
return video_url
except Exception as e:
gr.Warning(f"Warning: {e}")
return None
examples = [
'a tiny astronaut hatching from an egg on the moon',
'A close-up of a panda wearing red clothes and holding a green sign with the words "Wanx" in both hands. The background is a busy city street with cars driving fast on the road.',
'远景拍摄,塞纳河畔,绚烂的烟花在空中绽放,烟花形成了粉色数字“2025”时镜头拉近特写,然后逐渐消散',
]
css = """
#col-container {
margin: 0 auto;
max-width: 800px;
}
"""
with gr.Blocks(css=css) as demo:
with gr.Column(elem_id="col-container"):
gr.Markdown(f"""# WanX 2.1 (Tongyi Wanxiang 2.1), the latest powerful text to video generation model developed by the WanX Team from Tongyi Lab, Alibaba Group.
[[YouTube Videos]](https://www.youtube.com/watch?v=bq4nAVbYQQU)
[[WanX WEB]](https://tongyi.aliyun.com/wanxiang/videoCreation)
""")
with gr.Row():
prompt = gr.Text(
label="Prompt",
show_label=False,
max_lines=100,
min_width=320,
placeholder="Enter your prompt",
container=False,
)
run_button = gr.Button("Run", scale=0)
result = gr.Video(label="Generated video", show_label=False)
gr.Examples(
examples=examples,
inputs=[prompt]
)
gr.on(
triggers=[run_button.click],
fn=video_generation,
inputs=[prompt],
outputs=[result]
)
demo.queue(max_size=10)
demo.launch()