Lip Sync using Sonic
Video Lecture
| Section | Video Links |
|---|---|
| Lip Sync using Sonic | ![]() |
Note
The install information below contains newer information than what is shown in the video. Be sure to follow the instructions below when installing.
Description
We will use the Sonic custom node to add lip synced audio to a still image.
This will produce a short video the same length as the audio.
Install ComfyUI Sonic Custom Node
Install the custom node ComfyUI Sonic using the manager,

Or, you can use your command/terminal prompt.
- Navigate to your
./ComfyUI_windows_portable/ComfyUI/custom_nodesfolder. - Run,
git clone https://github.com/Sean-Bradley/ComfyUI-Sonic - Navigate to your
./ComfyUI_windows_portablefolder. - Run
python_embeded\python -m pip install -r ComfyUI/custom_nodes/ComfyUI-Sonic/requirements.txt - Restart ComfyUI
Install Models
We need to create this folder structure and download each model into its place.
📂 ComfyUI/
├── 📂 models/
│ └── 📂 sonic/
│ ├── audio2bucket.pth
│ ├── audio2token.pth
│ ├── unet.pth
│ ├── face_yolov8m.pt
│ ├── 📂 whisper-tiny/
│ │ ├── config.json
│ │ ├── model.safetensors
│ │ └── preprocessor_config.json
│ └── 📂 RIFE/
│ └── flownet.pkl
Download each file and place into your ComfyUI/models/sonic/ folder
Download each file and place into your ComfyUI/models/sonic/whisper-tiny/ folder
Download this file and place into your ComfyUI/models/sonic/RIFE/ folder
Sample Workflows
Download this Example Audio and save into your ComfyUI/input folder.
| Initial Image | Workflow |
|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
WGET Commands
If you are using Runpod, or a similar hosted GPU service, then you can access your running pod/instance using a terminal.
# # # # # | |
# # # # | |
# # | |
Wait for files to download fully before running your workflows.


















































