#!/usr/bin/env python3
from __future__ import annotations

import argparse
from pathlib import Path

from huggingface_hub import snapshot_download


def main() -> None:
    parser = argparse.ArgumentParser(description="Download the CosyVoice3 checkpoint from Hugging Face.")
    parser.add_argument("--repo-id", default="FunAudioLLM/Fun-CosyVoice3-0.5B-2512")
    parser.add_argument("--local-dir", default="pretrained_models/Fun-CosyVoice3-0.5B")
    args = parser.parse_args()

    local_dir = Path(args.local_dir)
    local_dir.parent.mkdir(parents=True, exist_ok=True)
    snapshot_download(repo_id=args.repo_id, local_dir=str(local_dir), local_dir_use_symlinks=False)
    print(f"model_dir={local_dir.resolve()}")


if __name__ == "__main__":
    main()
