Spaces:
Running
Running
import argparse | |
import subprocess | |
import os | |
from huggingface_hub import snapshot_download | |
# Arguments | |
parser = argparse.ArgumentParser() | |
parser.add_argument("--task", type=str, default="t2v-14B") | |
parser.add_argument("--size", type=str, default="832*480") | |
parser.add_argument("--frame_num", type=int, default=60) | |
parser.add_argument("--sample_steps", type=int, default=25) | |
parser.add_argument("--ckpt_dir", type=str, default="./Wan2.1-T2V-14B") | |
parser.add_argument("--offload_model", type=str, default="True") | |
parser.add_argument("--precision", type=str, default="bf16") | |
parser.add_argument("--prompt", type=str, required=True) | |
args = parser.parse_args() | |
# Download model if not available | |
if not os.path.exists(args.ckpt_dir): | |
print("π Downloading WAN 2.1 model...") | |
snapshot_download(repo_id="Wan-AI/Wan2.1-T2V-14B", local_dir=args.ckpt_dir) | |
# Run Model | |
command = f"python run_model.py --task {args.task} --size {args.size} --frame_num {args.frame_num} --sample_steps {args.sample_steps} --ckpt_dir {args.ckpt_dir} --offload_model {args.offload_model} --precision {args.precision} --prompt \"{args.prompt}\"" | |
process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
stdout, stderr = process.communicate() | |
print("πΉ Output:", stdout.decode()) | |
print("πΊ Error:", stderr.decode()) | |
# Check if video was created | |
if os.path.exists("output.mp4"): | |
print("β Video generated successfully: output.mp4") | |
else: | |
print("β Error: Video file not found!") | |