It looks like git or git-lfs didn’t complete properly…?
Good, this explains the problem very clearly.
Right now your Comfyui-SadTalker folder only contains SadTalker/:
$ cd ~/comfy/sadtalker/ComfyUI/custom_nodes
$ ls
Comfyui-SadTalker
$ ls Comfyui-SadTalker
SadTalker
But the real plugin repo on GitHub looks like this:
Comfyui-SadTalker/
SadTalker/
examples/
nodes/
web/
workflow/
README.md
__init__.py
requirements.txt
So in your new workspace you only copied the **model directory** (`SadTalker/.../checkpoints`) but **none of the Python code** (`__init__.py`, `nodes/`, etc.).
If there is no `__init__.py` and no `nodes/`, ComfyUI cannot register nodes named `SadTalker`, `ShowAudio`, `LoadRefVideo`, `ShowVideo`. That is exactly why the workflow pop-up says those node types are missing.
The good news: this is easy to fix.
---
## 1. Fix the plugin folder (get the full code, not only models)
You have two ways: copy from your old install, or re-clone from GitHub.
### Option A: copy the full plugin from the first ComfyUI
If your original ComfyUI (the first one) has a working Comfyui-SadTalker, just copy it.
```bash
# activate the venv for the NEW install (so you don't get confused)
source ~/comfy/comfy-env/bin/activate
# remove the incomplete folder in the new workspace
rm -rf ~/comfy/sadtalker/ComfyUI/custom_nodes/Comfyui-SadTalker
# copy the complete plugin directory from the first ComfyUI
cp -a ~/comfy/ComfyUI/custom_nodes/Comfyui-SadTalker \
~/comfy/sadtalker/ComfyUI/custom_nodes/
Then check:
cd ~/comfy/sadtalker/ComfyUI/custom_nodes/Comfyui-SadTalker
ls
# you should now see something like:
# SadTalker examples nodes web workflow README.md __init__.py requirements.txt
Your checkpoints can stay where they are; you’ve already copied them into SadTalker/checkpoints.
Option B: re-clone from GitHub in the new workspace
If you’d rather pull a fresh copy:
source ~/comfy/comfy-env/bin/activate
cd ~/comfy/sadtalker/ComfyUI/custom_nodes
rm -rf Comfyui-SadTalker
git clone https://github.com/haomole/Comfyui-SadTalker.git
cd Comfyui-SadTalker
ls
# expect: SadTalker examples nodes web workflow README.md __init__.py requirements.txt
Now recreate the checkpoints directory inside this fresh repo and copy your model files into it:
mkdir -p SadTalker/checkpoints
cp ~/comfy/ComfyUI/custom_nodes/Comfyui-SadTalker/SadTalker/checkpoints/* \
SadTalker/checkpoints/
(Or copy from wherever you originally downloaded the SadTalker models.)
2. Install the plugin’s Python dependencies (in this venv)
Still inside the venv and the new plugin:
cd ~/comfy/sadtalker/ComfyUI/custom_nodes/Comfyui-SadTalker
python -m pip install -r requirements.txt
On Python 3.11 this should pull prebuilt wheels (including numpy==1.23.4) and finish quickly. (GitHub)
If pip complains about some missing build tool or a single package, install that package separately in the same venv and rerun.
Example manual installs that fix the usual errors:
python -m pip install moviepy==1.0.3 imageio[ffmpeg] librosa soundfile
A Reddit user with the same “Missing Node Types: SadTalker, ShowAudio, LoadRefVideo, ShowVideo” pop-up fixed it by installing moviepy into the ComfyUI environment. (Reddit)
3. Restart ComfyUI and check the import log
Now restart ComfyUI from the terminal so you can see errors:
cd ~/comfy/sadtalker
comfy --workspace=~/comfy/sadtalker launch -- --listen 127.0.0.1 --port 8190
On startup you should see a section like:
0.0 seconds: .../custom_nodes/Comfyui-SadTalker
If you still see:
0.0 seconds (IMPORT FAILED): .../custom_nodes/Comfyui-SadTalker
read the few lines above that line: they will say which module is missing (e.g. No module named 'moviepy.editor'). Install that module into this venv and restart again.
4. Confirm the nodes now exist in the UI
Once there is no (IMPORT FAILED):
-
Open ComfyUI in your browser on
http://127.0.0.1:8190. -
Right-click → node search, type
SadTalker. -
You should see nodes named:
SadTalkerShowAudioLoadRefVideoShowVideo
These node names come directly from the plugin’s nodes directory and __init__.py mappings. (GitHub)
If you can add them manually, loading your workflow will no longer show the “Some Nodes Are Missing” dialog.
5. How to isolate problems in ComfyUI (beginner-safe checklist)
When any custom node gives you trouble, use this pattern:
-
Check folder layout
custom_nodes/<PluginName>/should match the GitHub repo (look for__init__.py,nodes/,requirements.txt). (GitHub)
-
Always run ComfyUI from a terminal
- Watch for lines like
IMPORT FAILEDand read the traceback directly above them. That tells you the real cause. (GitHub)
- Watch for lines like
-
Install missing Python packages in the same venv
source <venv>/bin/activatepython -m pip install <package>
-
Keep data separate from code in your head
- Checkpoints/weights (
*.safetensors,*.pth) only affect running the node. - Missing node pop-ups are almost always due to code not loading, not missing weights.
- Checkpoints/weights (
-
Test the plugin alone if needed
- Temporarily rename other
custom_nodes/*folders with.offat the end, restart, and see if the problem persists. This makes it clear whether the issue is that plugin or a conflict.
- Temporarily rename other
Bottom line
- Your new workspace currently has only the
SadTalker/model directory, not the full Comfyui-SadTalker plugin. - Fix by copying or cloning the entire repo (with
nodes/,__init__.py, etc.), then installing its requirements in the same venv. - After that, ComfyUI should register the
SadTalker,ShowAudio,LoadRefVideo, andShowVideonodes, and the workflow will load normally.