
Ok, tới bước tải code SadTalker và models đúng không? Mình hướng dẫn chuẩn từng bước cho Windows nhé.
✅ Bước 1: Clone SadTalker từ GitHub
Sau khi Git đã cài xong và chạy được trong CMD, mở Command Prompt (CMD) và gõ:
cd D:\ # hoặc thư mục bạn muốn lưu dự án
git clone https://github.com/OpenTalker/SadTalker.git
✅ Bước 2: Vào thư mục SadTalker
Nếu bạn đang ở CMD thì chạy:
cd SadTalker
✅ Bước 3: Tải checkpoint models của SadTalker
SadTalker không chạy được nếu chưa tải đủ models. README yêu cầu tải checkpoints gồm 3 phần quan trọng:
| Loại model | Dùng để làm gì | Bắt buộc |
|---|---|---|
gfpgan | làm đẹp mặt, khôi phục khuôn mặt | ✅ |
dlib | nhận diện facial landmarks | ✅ |
wav2lip | khớp khẩu hình với âm thanh | ✅ |
SadTalker cần tải pretrained models (checkpoints) – nếu không tải sẽ lỗi ngay.
Trong CMD (đang đứng trong thư mục SadTalker), chạy:
python scripts/download_models.py
Nếu chạy ok là nó sẽ tự tải models vào đúng thư mục checkpoints/ và gfpgan/.
✅ Nếu máy báo lỗi python is not recognized
→ Nghĩa là bạn chưa cài Python.
Nếu bị lỗi No module named ...
Thì chạy thêm lệnh sau trước khi tải model:
pip install -r requirements.txt
✅ Bạn làm theo thứ tự:
- Trong CMD gõ:
pip install -r requirements.txt - Sau đó:
python scripts\download_models.py
✅ [Errno 2] No such file or directory
Lỗi này báo rằng không tìm thấy file download_models.py trong thư mục scripts, nghĩa là thư mục SadTalker của bạn chưa đầy đủ file hoặc clone chưa đúng.
✅ Kiểm tra xem thư mục SadTalker có đủ chưa
Trong CMD, bạn gõ:
dir
và gửi danh sách file thư mục D:\SadTalker lên cho mình xem.
Mình cần kiểm tra xem có thư mục scripts hay không.
✅ Nếu thiếu file thì làm lại bước clone
Bạn có thể xóa thư mục SadTalker cũ rồi clone lại bằng lệnh:
cd D:\
rmdir /S /Q SadTalker
git clone https://github.com/OpenTalker/SadTalker.git
✅ không còn file download_models.py nữa
SadTalker đã thay đổi repo mới nên không còn file download_models.py nữa – bây giờ họ dùng folder download_models thay thế (bạn thấy đúng không? có folder download_models trong scripts).
Giải pháp đúng theo phiên bản SadTalker mới (2025)
Bạn không cần file download_models.py nữa, thay vào đó tải model bằng file .sh hoặc PowerShell.
✅ Cách tải models trên Windows (đúng chuẩn hiện tại)
Chạy lệnh sau trong thư mục SadTalker:
powershell -ExecutionPolicy Bypass -File scripts\download_models\download_models.ps1
✅ Lệnh này sẽ tự tải đầy đủ model của SadTalker.
🔧 Nếu máy bạn chưa bật PowerShell script
Nếu chạy bị lỗi như “running scripts is disabled”, thì chạy dòng này trước:
powershell Set-ExecutionPolicy -Scope CurrentUser Unrestricted
✔️ Xác nhận lại
Bạn đang ở thư mục:
D:\SadTalker
thì chạy lần lượt:
pip install -r requirements.txt
powershell -ExecutionPolicy Bypass -File scripts\download_models\download_models.ps1
Trường hợp không có file download_models.ps1
Dùng Git Bash hoặc Cygwin
- Cài Git cho Windows (thường đi kèm Git Bash).
- Nếu chưa cài, tải Git for Windows.
- Mở Git Bash tại
D:\SadTalker\scripts:
Nhấn Start → gõ Git Bash → Enter
Hoặc nhấn chuột phải vào thư mục D:\SadTalker\scripts → Open Git Bash here
bash download_models.sh
- Script sẽ tự động tải tất cả các model cần thiết về đúng thư mục.
- Bạn sẽ thấy tiến trình tải và các file
.pthhoặc.ptxuất hiện.
💡 Lưu ý: Quá trình này có thể mất vài phút tùy tốc độ mạng, đặc biệt với các model lớn.
Lỗi “download_models.sh: line 31: wget: command not found”
- Script
download_models.shđang dùngwgetđể tải model. - Git Bash trên Windows mặc định không có wget, nên báo lỗi
command not found.
Chạy trong Git Bash:
cd /d/SadTalker/scripts
chmod +x download_models.sh
bash download_models.sh
3 cách xử lý trên Windows
1️⃣ Dùng curl thay wget (Git Bash thường có curl sẵn)
Mở file download_models.sh bằng Notepad, tìm tất cả lệnh wget ... và thay bằng:
curl -L -o <tên_file> <URL>
Ví dụ:
wget https://example.com/model.pth
thành
curl -L -o model.pth https://example.com/model.pth
-Ltự theo redirect,-ođể đặt tên file.- Sau đó chạy lại:
bash download_models.sh
✅ Sau khi tải xong models thì làm gì tiếp?
Sau khi download_models.sh chạy xong, bạn quay lại CMD hoặc PowerShell (không phải Git Bash), kích hoạt lại Python venv rồi chạy thử SadTalker.
Trong CMD:
cd D:\SadTalker
venv\Scripts\activate
python app.py
Hoặc nếu bạn muốn chạy từ command line:
python inference.py –driven_audio path\to\audio.wav –source_image path\to\image.jpg
Nếu báo lỗi: [Errno 2] No such file or directory
can’t open file ‘d:\SadTalker\app.py’: [Errno 2] No such file or directory
→ Tức là trong thư mục SadTalker không có file app.py nên không chạy được lệnh đó.
✅ Giải thích
SadTalker bản gốc không có app.py, nó chạy bằng lệnh inference.py hoặc giao diện WebUI nếu có file.
✅ Cách kiểm tra
Bạn gõ lệnh sau trong CMD đang mở:
cmd
Sao chép mã
dir
✅ Hướng chạy đúng
Tùy theo repo bạn tải, có 2 kiểu chạy:
Bạn muốn Lệnh chạy
python inference.py –driven_audio “D:\VoxRock\muachieu.wav” –source_image “D:\VoxRock\muachieuanh.jpg” –result_dir “results”
PyTorch không tương thích GPU driver / thiếu Visual C++ hoặc không dùng GPU CUDA nhưng lại cài bản CUDA.
file model vẫn bị lỗi hoặc thiếu, và chắc chắn file epoch_20.pth đang bị hỏng
Giải pháp nhanh nhất (100% chạy được)
Mình sẽ cho bạn tải trọn bộ checkpoint ZIP đầy đủ đã chuẩn cài cho Windows – chỉ cần giải nén là chạy, không cần curl hay tar nữa.
✅ Bước 1: Xóa hết checkpoint hỏng hiện tại
Trong thư mục d:\SadTalker chạy:
del /Q checkpoints
mkdir checkpoints
✅ Bước 2: Tải nguyên bộ checkpoint FIX sẵn cho bạn
👉 Tải bằng trình duyệt:
https://huggingface.co/OpenTalker/SadTalker/resolve/main/checkpoints.zip
https://drive.google.com/file/d/1gwWh45pF7aelNP_P78uDJL8Sycep-K7j/view
✅ Bước 3: Giải nén
Giải nén file checkpoints.zip vừa tải → Copy toàn bộ thư mục checkpoints → Dán vào d:\SadTalker (ghi đè nếu hỏi Yes).
✅ Cách khắc phục nhanh nhất
Bạn đang dùng Windows, CPU bình thường vẫn chạy được SadTalker → gỡ Torch CUDA và cài bản CPU là chạy ok.
🔧 Làm theo 3 bước này
Trong Command Prompt hoặc Git Bash nhưng nhớ đang ở (venv) nhé:
1. Gỡ PyTorch hiện tại
pip uninstall torch torchvision torchaudio -y
2. Cài lại bản Torch dành cho CPU
pip install torch==2.0.1+cpu torchvision==0.15.2+cpu -f https://download.pytorch.org/whl/torch_stable.html
3. Cài Visual C++ Runtime (nếu chưa có)
Nếu chưa cài, tải ở đây và cài:
https://aka.ms/vs/17/release/vc_redist.x64.exe
2️⃣ Cài wget cho Git Bash
- Mở Git Bash → chạy:
pacman -S wget
Git Bash dựa trên MinGW, dùng
pacmanđể cài gói.
Sau khi script chạy xong, bạn quay lại CMD, kích hoạt venv, và chạy SadTalker bằng Python:
d:\SadTalker\venv\Scripts\activate
python demo.py # hoặc file chính của SadTalker
✅Một số trường hợp báo lỗi do cài chưa đúng phiên bản Python 3.10
Tải Python 3.10.11 tại đây (an toàn, từ Python.org):
🔗 https://www.python.org/ftp/python/3.10.11/python-3.10.11-amd64.exe
✅ Khi cài đặt nhớ tick:
☑ Add Python to PATH
☑ Install for all users
Kiểm tra Python đang ở phiên bản nào
Trong CMD gõ:
python --version
py –list (nếu cài nhiều phiên bản, xem nhận bản nào)
where python (tìm đường dẫn)
python -m venv venv (dùng phiên bản hiện tại)
Dùng Python Launcher (py)
Windows đi kèm py.exe, cho phép gọi nhiều phiên bản Python:
py -3.10 --version
Tạo venv bằng Python 3.10:
py -3.10 -m venv venv
Kích hoạt venv:
venv\Scripts\activate
Thoát venv: deactivate
Thay đổi PATH để ưu tiên Python 3.10
- Mở Environment Variables:
- Windows + S → gõ
Environment Variables→Edit the system environment variables→Environment Variables…
- Windows + S → gõ
- Trong User variables hoặc System variables, tìm Path.
- Đảm bảo đường dẫn Python 3.10 (ví dụ
C:\Python310\vàC:\Python310\Scripts\) đứng trên các phiên bản Python khác. - Nhấn OK và mở lại CMD.
- Kiểm tra lại:
python --version
✅ Tạo môi trường ảo riêng cho SadTalker (rất quan trọng)
Trong CMD gõ:
cd D:\SadTalker
python3.10 -m venv venv
venv\Scripts\activate
CMD sẽ đổi thành kiểu như:
(venv) D:\SadTalker>
✅ Cài dependencies không lỗi nữa:
pip install --upgrade pip setuptools wheel
pip install -r requirements.txt
d:\SadTalker\venv\Scripts\activate (chạy lại sao mỗi lần mở mới cmd)
✅ Lệnh Tạo video
python inference.py –driven_audio “D:/VoxRock/muachieu.wav” –source_image “D:/VoxRock/muachieuanh.jpg” –result_dir “results” –enhancer gfpgan –background_enhancer realesrgan –preprocess full –still –cpu
