Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -35,6 +35,31 @@ themes = {
|
|
| 35 |
"Violet Élégant": {"primary": (74, 20, 140), "secondary": (103, 58, 183)},
|
| 36 |
}
|
| 37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
# ============================================================
|
| 39 |
# OUTILS GÉNÉRAUX
|
| 40 |
# ============================================================
|
|
|
|
| 35 |
"Violet Élégant": {"primary": (74, 20, 140), "secondary": (103, 58, 183)},
|
| 36 |
}
|
| 37 |
|
| 38 |
+
# ============================================================
|
| 39 |
+
# 🚀 Téléchargement automatique de SadTalker (si absent)
|
| 40 |
+
# ============================================================
|
| 41 |
+
import os, subprocess
|
| 42 |
+
|
| 43 |
+
if not os.path.exists("SadTalker"):
|
| 44 |
+
print("📦 Téléchargement de SadTalker depuis GitHub...")
|
| 45 |
+
subprocess.run(["git", "clone", "--depth", "1", "https://github.com/OpenTalker/SadTalker.git"], check=True)
|
| 46 |
+
|
| 47 |
+
# Télécharger les checkpoints nécessaires
|
| 48 |
+
os.makedirs("SadTalker/checkpoints", exist_ok=True)
|
| 49 |
+
checkpoints = {
|
| 50 |
+
"auido2exp.pt": "https://huggingface.co/OpenTalker/SadTalker/resolve/main/checkpoints/auido2exp.pt",
|
| 51 |
+
"GFPGANv1.4.pth": "https://huggingface.co/OpenTalker/SadTalker/resolve/main/checkpoints/GFPGANv1.4.pth",
|
| 52 |
+
"epoch_20.pth": "https://huggingface.co/OpenTalker/SadTalker/resolve/main/checkpoints/epoch_20.pth",
|
| 53 |
+
"mapping_00229-model.pth.tar": "https://huggingface.co/OpenTalker/SadTalker/resolve/main/checkpoints/mapping_00229-model.pth.tar",
|
| 54 |
+
"shape_predictor_68_face_landmarks.dat": "https://huggingface.co/OpenTalker/SadTalker/resolve/main/checkpoints/shape_predictor_68_face_landmarks.dat",
|
| 55 |
+
}
|
| 56 |
+
for name, url in checkpoints.items():
|
| 57 |
+
dest = f"SadTalker/checkpoints/{name}"
|
| 58 |
+
if not os.path.exists(dest):
|
| 59 |
+
print(f"⬇️ Téléchargement {name}...")
|
| 60 |
+
subprocess.run(["wget", "-q", "-O", dest, url], check=True)
|
| 61 |
+
print("✅ SadTalker prêt à l’emploi.")
|
| 62 |
+
|
| 63 |
# ============================================================
|
| 64 |
# OUTILS GÉNÉRAUX
|
| 65 |
# ============================================================
|