# Download all required models for Flowerfy application | |
# This script uses huggingface-hub CLI to download models with progress bars | |
echo "🌸 Downloading Flowerfy models using Hugging Face CLI..." | |
# Configure Hugging Face to use external SSD cache | |
if [ -d "/Volumes/extssd" ]; then | |
export HF_HOME="/Volumes/extssd/huggingface" | |
echo "✅ Using external SSD cache at: $HF_HOME" | |
# Ensure directory exists | |
mkdir -p "$HF_HOME/hub" | |
else | |
echo "⚠️ External SSD not found at /Volumes/extssd" | |
echo " Models will be downloaded to default cache: ~/.cache/huggingface/hub" | |
fi | |
# Check if huggingface-hub is installed | |
if ! command -v hf &> /dev/null; then | |
echo "📦 Installing huggingface-hub CLI..." | |
uv add huggingface-hub[cli] | |
fi | |
echo "" | |
echo "1️⃣ Downloading ConvNeXt model for flower classification..." | |
hf download facebook/convnext-tiny-224 | |
echo "" | |
echo "2️⃣ Downloading CLIP model for fallback classification..." | |
hf download openai/clip-vit-base-patch32 | |
echo "" | |
echo "3️⃣ Downloading SDXL model for image generation (~7GB)..." | |
hf download stabilityai/stable-diffusion-xl-base-1.0 | |
echo "" | |
echo "4️⃣ Downloading FLUX.1-schnell model as backup (~23GB)..." | |
echo "⚠️ Note: FLUX may require HuggingFace authentication" | |
hf download black-forest-labs/FLUX.1-schnell || echo "⚠️ FLUX download failed - SDXL is the primary model" | |
echo "" | |
echo "🎉 Model downloads completed!" | |
echo "Total download size: ~30GB (if both models downloaded)" | |
echo "" | |
echo "You can now run: uv run python app.py" | |