Spaces:
Sleeping
Sleeping
| import modal | |
| import os | |
| from pathlib import Path | |
| # Create or get existing volume | |
| volume = modal.Volume.from_name("flux-model-vol-3", create_if_missing=True) | |
| # Set model storage directory | |
| MODEL_DIR = "/data/models" | |
| # Set up image with dependencies | |
| download_image = ( | |
| modal.Image.debian_slim() | |
| .pip_install("huggingface_hub[hf_transfer]", "transformers") | |
| .env({"HF_HUB_ENABLE_HF_TRANSFER": "1"}) # Enables optimized downloads | |
| ) | |
| # Create Modal app | |
| app = modal.App("flux-model-setup") | |
| def download_flux(): | |
| from huggingface_hub import snapshot_download | |
| import transformers # Ensure transformers is available | |
| repo_id = "black-forest-labs/FLUX.1-dev" | |
| local_dir = f"{MODEL_DIR}/{repo_id.split('/')[-1]}" # Store model in /data/models/FLUX.1-dev | |
| # Download the model without large weight files for efficiency | |
| snapshot_download( | |
| repo_id, | |
| local_dir=local_dir, | |
| revision="main", # Define revision explicitly | |
| ignore_patterns=["*.pt", "*.bin"], # Skip large model weights | |
| ) | |
| # Ensure proper caching | |