CtB-AI-img-gen / old /old v3 /download_flux_modal3.py
Andre
update 1.1
4f48282
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")
@app.function(
volumes={"/data/models": volume}, # Fix volume mounting syntax
image=download_image,
secrets=[modal.Secret.from_name("huggingface-token")]
)
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