FantasyTalking Model Loader
Load the audio-driven talking-portrait model for Wan
- model
This loads FantasyTalking, an audio-driven talking-portrait model that Kijai wired into the Wan wrapper. Feed it a still portrait and an audio clip, and the broader workflow animates that face saying the words - lips synced, head moving, the motion coherent rather than the stiff jaw-flap you get from cheaper lip-sync tools. It was introduced as "Realistic Talking Portrait Generation via Coherent Motion Synthesis," and "coherent motion" is the selling point: it's trying to move the whole face and head believably, not just paste a mouth on a photo.
This node is only the loader. The talking part happens downstream once the model, an audio embedding, and your reference image all meet at the Wan sampler. Getting the weights into memory is all this node does.
How it works
FantasyTalking is an adapter over Wan. It takes audio-derived features and steers the video model so the generated face's motion matches the speech. Because it's a bolt-on to the base model rather than a standalone generator, the loader is deliberately thin: choose the weight file, choose the precision, output a typed FANTASYTALKINGMODEL the rest of the graph consumes.
If you're deciding between this and FantasyPortrait: FantasyTalking is audio → talking head, FantasyPortrait is video → expression transfer. Same family of "drive a face" tooling, different input. Reach for FantasyTalking when you have a voice clip and a photo and want them married.
The inputs and outputs that matter
Two inputs, and you'll only think about one.
model- dropdown of FantasyTalking weight files found in your models folder. Empty means nothing's downloaded yet.base_precision(defaultfp16) -fp32/bf16/fp16. Keepfp16; switch tobf16only if you see numerical artifacts on your GPU.fp32is a debugging luxury.
Output: model (FANTASYTALKINGMODEL), which flows into the FantasyTalking sampling path along with your audio embeds and reference image.
How to install it
ComfyUI Manager → search ComfyUI-WanVideoWrapper, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-WanVideoWrapper
pip install -r ComfyUI-WanVideoWrapper/requirements.txt
then restart. You'll need the FantasyTalking weights in your ComfyUI models directory (Kijai mirrors Wan-adjacent models under huggingface.co/Kijai/WanVideo_comfy), plus a way to turn your audio into embeddings (a Whisper-style audio encoder in the graph), and the base Wan model, VAE and text encoder.
Common issues & troubleshooting
Red node / "missing nodes." FantasyTalking support arrives via wrapper updates. If the class is absent, your WanVideoWrapper is stale - update it and restart before assuming a broken workflow.
Empty model dropdown. The weights aren't downloaded. This loader only lists what it finds on disk; put the file in the right folder and refresh.
Lip-sync is off. Not this node's department. Sync quality is set by your audio encoding, the frame rate you render at, and the drive-strength settings in the sampling path. Confirm your fps matches between the audio-embed step and the sampler - a rate mismatch is the classic cause of drift.
It runs but the head barely moves. FantasyTalking leans on coherent full-head motion; if it's coming out static, check that you're actually feeding audio through the intended path and that the reference portrait is a clean, front-facing face. Garbage-in on the reference gives you a stiff result.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | These models are loaded from the 'ComfyUI/models/diffusion_models' -folder | |
| base_precision | COMBO | fp16 | 3 options: fp32, bf16, fp16 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | FANTASYTALKINGMODEL | — |