Spaces:
Runtime error
Runtime error
| #!/usr/bin/env python3 | |
| """ | |
| Download and cache TripoSR model for HF Spaces | |
| Runs on first startup to fetch the model from HuggingFace | |
| """ | |
| import os | |
| import sys | |
| from pathlib import Path | |
| def setup_triposr_model(): | |
| """Download TripoSR model and setup cache directory""" | |
| # Setup cache directory | |
| cache_dir = Path.home() / ".cache" / "triposr" | |
| cache_dir.mkdir(parents=True, exist_ok=True) | |
| checkpoint_dir = cache_dir / "checkpoints" | |
| checkpoint_dir.mkdir(parents=True, exist_ok=True) | |
| # Check if model already exists | |
| model_ckpt = checkpoint_dir / "model.ckpt" | |
| config_file = checkpoint_dir / "config.yaml" | |
| if model_ckpt.exists() and config_file.exists(): | |
| print("[INFO] TripoSR model already cached, skipping download") | |
| return str(checkpoint_dir) | |
| print("[INFO] Downloading TripoSR model from HuggingFace...") | |
| print("[INFO] This may take 2-5 minutes on first run...") | |
| try: | |
| from huggingface_hub import snapshot_download | |
| # Download from stabilityai/TripoSR | |
| model_dir = snapshot_download( | |
| repo_id="stabilityai/TripoSR", | |
| cache_dir=str(cache_dir), | |
| local_dir=str(checkpoint_dir), | |
| force_download=False, | |
| resume_download=True | |
| ) | |
| print(f"[OK] TripoSR model downloaded to: {model_dir}") | |
| return str(checkpoint_dir) | |
| except ImportError: | |
| print("[ERROR] huggingface_hub not available") | |
| return None | |
| except Exception as e: | |
| print(f"[ERROR] Failed to download model: {e}") | |
| return None | |
| if __name__ == "__main__": | |
| setup_triposr_model() | |