Spaces:
Paused
Paused
| set -e # Exit immediately on error | |
| set -o pipefail # Catch errors in pipelines | |
| JOBS_DIR=$(dirname "$(dirname "$0")") | |
| export PYTHONPATH=./ | |
| MODEL_BASE=./weights | |
| MODEL_DIR="${MODEL_BASE}/ckpts/hunyuan-video-t2v-720p" | |
| CHECKPOINT_FILE="${MODEL_DIR}/transformers/mp_rank_00_model_states.pt" | |
| # Step 1: Ensure model is downloaded | |
| echo "π¦ Checking model checkpoint..." | |
| if [ -f "$CHECKPOINT_FILE" ]; then | |
| echo "β Model checkpoint already exists. Skipping download." | |
| else | |
| echo "β¬οΈ Model not found. Downloading from Hugging Face..." | |
| python3 - <<EOF | |
| from huggingface_hub import snapshot_download | |
| import os | |
| target_dir = "${MODEL_DIR}" | |
| os.makedirs(target_dir, exist_ok=True) | |
| snapshot_download( | |
| repo_id="tencent/HunyuanVideo-Avatar", | |
| local_dir=target_dir, | |
| local_dir_use_symlinks=False | |
| ) | |
| EOF | |
| # Confirm model was downloaded | |
| if [ ! -f "$CHECKPOINT_FILE" ]; then | |
| echo "β Failed to download model checkpoint. Exiting." | |
| exit 1 | |
| fi | |
| echo "β Model downloaded successfully." | |
| fi | |
| # Step 2: Launch the Flask audio server | |
| echo "π Starting flask_audio.py..." | |
| torchrun --nnodes=1 --nproc_per_node=8 --master_port=29605 hymm_gradio/flask_audio.py \ | |
| --input 'assets/test.csv' \ | |
| --ckpt "${CHECKPOINT_FILE}" \ | |
| --sample-n-frames 129 \ | |
| --seed 128 \ | |
| --image-size 704 \ | |
| --cfg-scale 7.5 \ | |
| --infer-steps 50 \ | |
| --use-deepcache 1 \ | |
| --flow-shift-eval-video 5.0 & | |
| # Step 3: Run Gradio UI | |
| echo "π’ Starting gradio_audio.py UI..." | |
| # Add your command to run gradio_audio.py here | |
| # Example (uncomment and adjust as needed): | |