reorder
This commit is contained in:
52
tour_comfy/install_facefusion.sh
Normal file
52
tour_comfy/install_facefusion.sh
Normal file
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
# Install FaceFusion 3.x for high-quality face+hair swap.
|
||||
# Clones into ~/facefusion and creates a dedicated venv at ~/facefusion-venv.
|
||||
# Usage: bash tour-comfy/install_facefusion.sh
|
||||
set -e
|
||||
|
||||
FF_DIR="${FACEFUSION_DIR:-$HOME/facefusion}"
|
||||
FF_VENV="${FACEFUSION_VENV:-$HOME/facefusion-venv}"
|
||||
FF_REPO="https://github.com/facefusion/facefusion"
|
||||
|
||||
echo "[facefusion] Installing to $FF_DIR (venv: $FF_VENV)"
|
||||
|
||||
# 1. Clone or update
|
||||
if [ -d "$FF_DIR/.git" ]; then
|
||||
echo "[facefusion] Updating existing clone ..."
|
||||
git -C "$FF_DIR" pull --ff-only
|
||||
else
|
||||
echo "[facefusion] Cloning $FF_REPO ..."
|
||||
git clone "$FF_REPO" "$FF_DIR"
|
||||
fi
|
||||
|
||||
# 2. Create dedicated venv (avoids dependency conflicts with ComfyUI)
|
||||
if [ ! -d "$FF_VENV" ]; then
|
||||
echo "[facefusion] Creating venv at $FF_VENV ..."
|
||||
python3 -m venv "$FF_VENV"
|
||||
fi
|
||||
|
||||
PIP="$FF_VENV/bin/pip"
|
||||
PY="$FF_VENV/bin/python"
|
||||
|
||||
"$PIP" install --upgrade pip wheel
|
||||
|
||||
# 3. Install FaceFusion requirements
|
||||
cd "$FF_DIR"
|
||||
"$PIP" install -r requirements.txt \
|
||||
--extra-index-url https://download.pytorch.org/whl/cu124
|
||||
|
||||
# 4. Download base models (ghost_3_1_256 + gfpgan_1.4 for enhance)
|
||||
echo "[facefusion] Downloading default models via FaceFusion model manager ..."
|
||||
"$PY" facefusion.py \
|
||||
--processors face_swapper hair_swapper face_enhancer \
|
||||
--face-swapper-model ghost_3_1_256 \
|
||||
--face-enhancer-model gfpgan_1.4 \
|
||||
--execution-providers cpu \
|
||||
download-models 2>/dev/null || true
|
||||
|
||||
echo ""
|
||||
echo "[facefusion] Installation complete."
|
||||
echo " Binary: $PY $FF_DIR/facefusion.py"
|
||||
echo " Config: set facefusion_dir/facefusion_venv in tour-comfy/config.json"
|
||||
echo ""
|
||||
echo "Restart the API (start_api.sh) and the 'Hair swap' toggle will activate."
|
||||
Reference in New Issue
Block a user