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()