WAN MultiTalk Avatar

WAN MultiTalk — Audio-Driven Talking Avatar

by artokun · MIT license · ★ 759 on GitHub · updated Sep 21

WAN MultiTalk — Audio-Driven Talking Avatar cover

Build WAN MultiTalk audio-driven talking-avatar / lip-sync video workflows.

---
name: wan-multitalk
description: Build WAN MultiTalk audio-driven talking-avatar / lip-sync video workflows. MeiGen-AI MultiTalk on WAN 2.1 14B I2V via kijai WanVideoWrapper (portrait + audio → lip-synced video)
globs:
  - "**/*.json"
---

# WAN MultiTalk — Audio-Driven Talking Avatar

## Overview

MultiTalk (MeiGen-AI) drives a still portrait's lip-sync and head motion from an
audio track. It runs on WAN 2.1 14B Image-to-Video via kijai's
ComfyUI-WanVideoWrapper. Wav2Vec speech embeddings condition the WAN sampler so
the mouth and expression follow the speech, while the lightx2v step-distill LoRA
keeps it to a few sampling steps.

Use it for talking heads, dubbing, and single-speaker avatar clips (~10s at 480p).

Overview

MultiTalk (MeiGen-AI) drives a still portrait's lip-sync and head motion from an audio track. It runs on WAN 2.1 14B Image-to-Video via kijai's ComfyUI-WanVideoWrapper. Wav2Vec speech embeddings condition the WAN sampler so the mouth and expression follow the speech, while the lightx2v step-distill LoRA keeps it to a few sampling steps.

Manual install (npx, ZIP)
Claude Codenpx skills add artokun/comfyui-mcp --skill wan-multitalk -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/artokun/comfyui-mcp/tar.gz/1d5b12b1b499 \ | tar -xz -C ~/.claude/skills --strip-components=3 comfyui-mcp-1d5b12b1b499/plugin/skills/wan-multitalk
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/6eb32ebb1a418b8f51f9/wan-multitalk.zip" -OutFile "$env:TEMP\wan-multitalk.zip"; Expand-Archive "$env:TEMP\wan-multitalk.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md5.2 KB
Read the files here
artokun/1d5b12b1 file
SKILL.md
Show the full text105 lines

WAN MultiTalk — Audio-Driven Talking Avatar

Overview

MultiTalk (MeiGen-AI) drives a still portrait's lip-sync and head motion from an audio track. It runs on WAN 2.1 14B Image-to-Video via kijai's ComfyUI-WanVideoWrapper. Wav2Vec speech embeddings condition the WAN sampler so the mouth and expression follow the speech, while the lightx2v step-distill LoRA keeps it to a few sampling steps.

Use it for talking heads, dubbing, and single-speaker avatar clips (~10s at 480p). It is distinct from wan-animate (pose/motion-driven character animation). This is audio → lip-sync, not reference-video motion transfer.

Pack: wan-multitalk (480p, ~10s). Higher-res/longer variants exist in the source bundle (720p, long-context) as VRAM/duration knobs on the same graph.

Pipeline (node graph)

LoadImage (portrait) ─┐
LoadAudio ─ AudioSeparation ─ AudioCrop ─ DownloadAndLoadWav2VecModel ─ MultiTalkWav2VecEmbeds ─┐
                                                                                                 ▼
WanVideoModelLoader (WAN 2.1 14B I2V GGUF) ─ MultiTalkModelLoader ─ WanVideoLoraSelect (lightx2v)
   + LoadWanVideoT5TextEncoder (umt5) + WanVideoTextEncode + WanVideoClipVisionEncode (clip_vision_h)
   + WanVideoVAELoader ──────────────────────────────────────────────────────────────────────────┘
                                                     ▼
                       WanVideoImageToVideoMultiTalk ─ WanVideoSampler ─ WanVideoDecode ─ VHS_VideoCombine

Key nodes (all kijai WanVideoWrapper unless noted):

  • DownloadAndLoadWav2VecModel. Auto-downloads the Wav2Vec speech model on first run (no manifest entry needed).
  • MultiTalkWav2VecEmbeds. Turns the (separated, cropped) speech into the embeddings that steer the mouth and expression.
  • MultiTalkModelLoader + WanVideoImageToVideoMultiTalk. The MultiTalk head on top of the WAN I2V model.
  • AudioSeparation and AudioCrop (audio-separation-nodes-comfyui). Isolate the voice from music/noise before embedding and trim the segment you want to animate.
  • ImageResizeKJv2 (KJNodes), VHS_VideoCombine (VideoHelperSuite). Resize and mux to mp4.

Models

File Loader Folder
Wan2.1_14b_Image_to_Video_480p_GGUF_Q8.gguf WanVideoModelLoader diffusion_models/
WanVideo_2_1_Multitalk_14B_fp8_e4m3fn.safetensors MultiTalkModelLoader diffusion_models/
umt5_xxl_fp16.safetensors LoadWanVideoT5TextEncoder text_encoders/
Wan2_1_VAE_bf16.safetensors WanVideoVAELoader vae/
clip_vision_h.safetensors CLIPVisionLoader clip_vision/
Wan21_I2V_14B_lightx2v_cfg_step_distill_lora_rank64.safetensors WanVideoLoraSelect loras/

Sources: kijai Kijai/WanVideo_comfy, MeiGen-AI MeiGen-AI/MeiGen-MultiTalk, GGUF city96/Wan2.1-I2V-14B-480P-gguf, and Comfy-Org's repackaged UMT5. See packs/wan-multitalk/manifest.yaml (some URLs are best-effort; verify per mirror). Wav2Vec auto-downloads. The bundled WanVideoWrapper loader rejects the scaled_fp8 UMT5 checkpoint; use the UMT5 fp16 file above, not generic t5xxl_fp16 weights.

Inputs & key parameters

  • Portrait (LoadImage): front-facing, clear face, neutral-ish expression works best. Resized by ImageResizeKJv2 to the target (480p).
  • Audio (LoadAudio): the speech track. AudioSeparation isolates the voice; AudioCrop selects the segment (drives clip length).
  • Steps: low (the lightx2v distill LoRA is why; typically ~4 to 8). Raising steps rarely helps and costs time.
  • BlockSwap (WanVideoBlockSwap): trade VRAM for speed. Increase blocks swapped to CPU on lower-VRAM cards.

VRAM tiers (from the source bundle's variants)

Target Approx VRAM Lever
480p 10s ~8–12 GB base
480p low-VRAM ~6–8.4 GB more BlockSwap, GGUF quant, lower quality
720p 10s ~11–16 GB higher res

Pair with the VRAM launch-flags guidance (see troubleshooting): --use-sage-attention

  • appropriate --*vram mode; MultiTalk benefits from --reserve-vram headroom for the Wav2Vec + VAE round-trips.

Gotchas

  • Audio must be voice-isolated for good lip-sync. Skipping AudioSeparation on a music-heavy track makes the mouth chase the wrong signal.
  • One speaker. This graph is single-speaker; multi-speaker MultiTalk needs the multi-embed variant (not in this pack).
  • Wav2Vec first run downloads a model, so the first render is slower.
  • If lips look under-driven, check the MultiTalk embeds are actually wired into WanVideoImageToVideoMultiTalk (not bypassed), and that the audio isn't silent after AudioCrop.

Sources

  • Official: none found.
  • Empirical: sampler values, wiring, and prompt notes from working graphs in packs/ and observed renders; not a vendor prompting guide.
1---
2name: wan-multitalk
3description: Build WAN MultiTalk audio-driven talking-avatar / lip-sync video workflows. MeiGen-AI MultiTalk on WAN 2.1 14B I2V via kijai WanVideoWrapper (portrait + audio → lip-synced video)
4globs:
5 - "**/*.json"
6---
7 
8# WAN MultiTalk — Audio-Driven Talking Avatar
9 
10## Overview
11 
12MultiTalk (MeiGen-AI) drives a still portrait's lip-sync and head motion from an
13audio track. It runs on WAN 2.1 14B Image-to-Video via kijai's
14ComfyUI-WanVideoWrapper. Wav2Vec speech embeddings condition the WAN sampler so
15the mouth and expression follow the speech, while the lightx2v step-distill LoRA
16keeps it to a few sampling steps.
17 
18Use it for talking heads, dubbing, and single-speaker avatar clips (~10s at 480p).
19It is distinct from `wan-animate` (pose/motion-driven character animation). This
20is audio → lip-sync, not reference-video motion transfer.
21 
22Pack: `wan-multitalk` (480p, ~10s). Higher-res/longer variants exist in the source
23bundle (720p, long-context) as VRAM/duration knobs on the same graph.
24 
25## Pipeline (node graph)
26 
27```
28LoadImage (portrait) ─┐
29LoadAudio ─ AudioSeparation ─ AudioCrop ─ DownloadAndLoadWav2VecModel ─ MultiTalkWav2VecEmbeds ─┐
30 ▼
31WanVideoModelLoader (WAN 2.1 14B I2V GGUF) ─ MultiTalkModelLoader ─ WanVideoLoraSelect (lightx2v)
32 + LoadWanVideoT5TextEncoder (umt5) + WanVideoTextEncode + WanVideoClipVisionEncode (clip_vision_h)
33 + WanVideoVAELoader ──────────────────────────────────────────────────────────────────────────┘
34 ▼
35 WanVideoImageToVideoMultiTalk ─ WanVideoSampler ─ WanVideoDecode ─ VHS_VideoCombine
36```
37 
38Key nodes (all kijai WanVideoWrapper unless noted):
39- **DownloadAndLoadWav2VecModel.** Auto-downloads the Wav2Vec speech model on first
40 run (no manifest entry needed).
41- **MultiTalkWav2VecEmbeds.** Turns the (separated, cropped) speech into the
42 embeddings that steer the mouth and expression.
43- **MultiTalkModelLoader** + **WanVideoImageToVideoMultiTalk.** The MultiTalk head
44 on top of the WAN I2V model.
45- **AudioSeparation** and **AudioCrop** (audio-separation-nodes-comfyui). Isolate the
46 voice from music/noise before embedding and trim the segment you want to animate.
47- **ImageResizeKJv2** (KJNodes), **VHS_VideoCombine** (VideoHelperSuite). Resize and
48 mux to mp4.
49 
50## Models
51 
52| File | Loader | Folder |
53|------|--------|--------|
54| `Wan2.1_14b_Image_to_Video_480p_GGUF_Q8.gguf` | WanVideoModelLoader | `diffusion_models/` |
55| `WanVideo_2_1_Multitalk_14B_fp8_e4m3fn.safetensors` | MultiTalkModelLoader | `diffusion_models/` |
56| `umt5_xxl_fp16.safetensors` | LoadWanVideoT5TextEncoder | `text_encoders/` |
57| `Wan2_1_VAE_bf16.safetensors` | WanVideoVAELoader | `vae/` |
58| `clip_vision_h.safetensors` | CLIPVisionLoader | `clip_vision/` |
59| `Wan21_I2V_14B_lightx2v_cfg_step_distill_lora_rank64.safetensors` | WanVideoLoraSelect | `loras/` |
60 
61Sources: kijai `Kijai/WanVideo_comfy`, MeiGen-AI `MeiGen-AI/MeiGen-MultiTalk`, GGUF
62`city96/Wan2.1-I2V-14B-480P-gguf`, and Comfy-Org's repackaged UMT5. See
63`packs/wan-multitalk/manifest.yaml` (some URLs are best-effort; verify per mirror).
64Wav2Vec auto-downloads. The bundled WanVideoWrapper loader rejects the scaled_fp8
65UMT5 checkpoint; use the UMT5 fp16 file above, not generic `t5xxl_fp16` weights.
66 
67## Inputs & key parameters
68 
69- Portrait (LoadImage): front-facing, clear face, neutral-ish expression works
70 best. Resized by ImageResizeKJv2 to the target (480p).
71- Audio (LoadAudio): the speech track. AudioSeparation isolates the voice;
72 AudioCrop selects the segment (drives clip length).
73- Steps: low (the lightx2v distill LoRA is why; typically ~4 to 8). Raising steps
74 rarely helps and costs time.
75- BlockSwap (WanVideoBlockSwap): trade VRAM for speed. Increase blocks swapped
76 to CPU on lower-VRAM cards.
77 
78## VRAM tiers (from the source bundle's variants)
79 
80| Target | Approx VRAM | Lever |
81|--------|-------------|-------|
82| 480p 10s | ~8–12 GB | base |
83| 480p low-VRAM | ~6–8.4 GB | more BlockSwap, GGUF quant, lower quality |
84| 720p 10s | ~11–16 GB | higher res |
85 
86Pair with the VRAM launch-flags guidance (see `troubleshooting`): `--use-sage-attention`
87+ appropriate `--*vram` mode; MultiTalk benefits from `--reserve-vram` headroom for
88the Wav2Vec + VAE round-trips.
89 
90## Gotchas
91 
92- **Audio must be voice-isolated** for good lip-sync. Skipping AudioSeparation on a
93 music-heavy track makes the mouth chase the wrong signal.
94- **One speaker.** This graph is single-speaker; multi-speaker MultiTalk needs the
95 multi-embed variant (not in this pack).
96- **Wav2Vec first run** downloads a model, so the first render is slower.
97- If lips look under-driven, check the MultiTalk embeds are actually wired into
98 `WanVideoImageToVideoMultiTalk` (not bypassed), and that the audio isn't silent
99 after AudioCrop.
100 
101## Sources
102 
103- **Official:** none found.
104- **Empirical:** sampler values, wiring, and prompt notes from working graphs in `packs/` and observed renders; not a vendor prompting guide.
105 
View all files on GitHub →

Details

Updated
Sep 21, 2026
License
MIT
Stars on the repo
★ 759
Checked
Source
artokun/comfyui-mcp ↗
Creator
artokun · 44 listings
View creator

Similar skills

See all →
SkillViral Generator Builderdavila7/claude-code-templates · by davila7Expert in building shareable generator tools that go viral - name generators, quiz makers, avatar creators, personality tests, and calculator tools. Covers the psychology of sharing, viral mechanics, and building tools people can't resist sharing with friends. Use when: generator tool, quiz maker, name generator, avatar creator, viral tool.★ 32.3k GitHub starsSkillAI Avatar Pipelineminhnv0807/ai-business-skills · by minhnv0807Dung khi mot CA NHAN muon len hinh bang AI thay vi tu quay — pipeline avatar AI: 3 tier cong cu, 4 workflow gom avatar don, dich da ngon ngu, san xuat hang loat va hybrid nguoi that cong AI; nhan anh reference de tao prompt avatar; thay mat, style, logo; ghep voice clone; tranh bi nen tang danh dau; cong bo AI theo Nghi dinh 147/2024 va QA 100 diem. Cong cu HeyGen, Synthesia, ElevenLabs, Captions, Vbee. Kich hoat khi user nhac 'tao avatar AI', 'video HeyGen', 'talking head AI', 'lam video ma ngai lo mat', 'batch video AI', 'dich video sang tieng Anh', 'prompt avatar'. Khong dung cho — clone giong cho podcast va audio thi dung skill 25-voice-clone-podcast; viet loi thoai video thi dung skill 04-script-video; anh tinh thi dung skill 30-thiet-ke-master.★ 599 GitHub starsSkillProse Naturalizerblader/humanizer · by bladerRewrite AI-sounding text so it reads like the writer without changing what it says. Use when editing or reviewing prose for AI tells: not-X-but-Y contrasts, one-line closers, staged openers, forced triads, dashes everywhere, inflated claims, sales language, stock AI words, bold labels, or filler. Based on Wikipedia's "Signs of AI writing.★ 53.6k GitHub starsSkill3D Game Development Principlesdavila7/claude-code-templates · by davila73D game development principles. Rendering, shaders, physics, cameras.★ 32.3k GitHub starsSkill3D Web Experience Builderdavila7/claude-code-templates · by davila7Expert in building 3D experiences for the web - Three.js, React Three Fiber, Spline, WebGL, and interactive 3D scenes. Covers product configurators, 3D portfolios, immersive websites, and bringing depth to web experiences. Use when: 3D website, three.js, WebGL, react three fiber, 3D experience.★ 32.3k GitHub starsSkillArticle Illustration GeneratorJimLiu/baoyu-skills · by JimLiuAnalyzes article structure, identifies positions requiring visual aids, generates illustrations with Type × Style × Palette three-dimension approach. Use when user asks to "illustrate article", "add images", "generate images for article", or "为文章配图".★ 26.6k GitHub stars

More from artokun

SkillAI-Toolkit LoRA Trainerartokun/comfyui-mcp · by artokunTrain custom LoRAs with ostris AI-Toolkit. Covers WAN 2.2/2.1 (people, styles, video motion) and Z-Image (Turbo & Base, low-VRAM image LoRAs). Use when the user wants to train a WAN or Z-Image LoRA; covers local + RunPod setup, dataset prep, key params, and using the result in a ComfyUI workflow.★ 759 GitHub starsSkillANIMA 1.0 Anime Generatorartokun/comfyui-mcp · by artokunAnime/illustration text-to-image (ANIMA 1.0, ~2B Cosmos DiT). Use for anime, manga, illustrated characters; accepts Danbooru tags + natural language; runs/trains on <6GB VRAM; includes anime inpainting via Anima-LLLite ControlNet★ 759 GitHub starsSkillComfyUI Node Publishingartokun/comfyui-mcp · by artokunAuthoring & publishing ComfyUI custom nodes to the Comfy Registry, covering node structure, pyproject.toml spec, comfy-cli publishing, and CI★ 759 GitHub starsSkillAnime LoRA Trainerartokun/comfyui-mcp · by artokunTrain a custom anime LoRA on the ANIMA base model with Citron's local Gradio trainer (kohya sd-scripts), <6GB VRAM, character/style LoRAs; covers setup, dataset prep, training params, and using the result in the anima-base workflow★ 759 GitHub starsSkillCivitai Model Managerartokun/comfyui-mcp · by artokunDiscover Civitai models with the BUILT-IN download_model action:"search_civitai" and install/generate them locally. Find a checkpoint/LoRA/embedding on Civitai, download it into ComfyUI, and use its trigger words. Optionally pair the official Civitai MCP for community features (images browsing, posting, collections).★ 759 GitHub starsSkillObjective Color Correctionartokun/comfyui-mcp · by artokunDiagnose and fix video/image color OBJECTIVELY with the get_image (action:"analyze_color") tool (scopes/stats such as black/white points, contrast, saturation, clipping, cast) instead of eyeballing a contact sheet. Covers the "washed out" signature, why reference color-match (mkl/ColorMatch/ColorMatchAdobe) CAN'T add contrast a flat source lacks, the levels/contrast-stretch fix (core AdjustContrast / CurveEditor), the measure→fix→re-measure loop, the side-by-side sandbox pattern, and where to place the fix in a render graph (after decode, before save). Use when a render looks washed out / flat / dull / over-saturated / color-cast, or when deciding between a color-match and a contrast/levels fix.★ 759 GitHub stars