VoiceAPI / download_models.py
Harshil748's picture
Add TTS Tokenizer, Technical Report, and Basic Tests
89a8916
#!/usr/bin/env python3
"""
Download all required TTS models from HuggingFace
Run this on deployment to fetch models before starting the server
"""
import os
import sys
# Add src to path
sys.path.insert(0, os.path.dirname(__file__))
from src.downloader import ModelDownloader
from src.config import LANGUAGE_CONFIGS
def main():
print("=" * 60)
print("Downloading TTS Models from HuggingFace...")
print("=" * 60)
downloader = ModelDownloader()
# Download all configured models
voices = list(LANGUAGE_CONFIGS.keys())
print(f"\nModels to download: {len(voices)}")
for v in voices:
print(f" - {v}")
print("\n")
success = 0
failed = []
for voice in voices:
try:
print(f"Downloading {voice}...")
downloader.download_model(voice)
success += 1
print(f" ✓ {voice} downloaded\n")
except Exception as e:
print(f" ✗ {voice} failed: {e}\n")
failed.append(voice)
print("=" * 60)
print(f"Download complete: {success}/{len(voices)} models")
if failed:
print(f"Failed: {', '.join(failed)}")
return 1
print("=" * 60)
return 0
if __name__ == "__main__":
sys.exit(main())