Lip Sync
Make a portrait speak an audio track, or dub an existing video by re-syncing its lips to new speech, with Kling Avatar, OmniHuman, Seedance and more.
The Lip Sync node makes a face speak an audio track. Give it a portrait and a voice track, and it makes a talking-head video. Give it a video and new audio, and it re-syncs the lips in the video to the new speech, which dubs the clip. You choose the model, and the node shows the inputs that model needs.
When to use it
- A talking head from a single photo, for example an AI-generated character with a voiceover.
- A spokesperson video for a product demo.
- A dubbed version of a video: translated speech, re-synced to the speaker's lips.
- A performance directed by a prompt, such as singing into a microphone, with OmniHuman 1.5.
For a full avatar video from a script, with voices and captions built in, use AI Avatar.
Quick start
Add the node
Press Tab on the canvas and choose Video › Animate & Perform › Lip Sync.
Choose the model
Open the settings panel and choose a model under Provider. The node then shows the inputs that model needs: Portrait, Source video, or both.
Connect the face and the voice
Connect an image to Portrait, or a video to Source video, and an audio node to Audio, for example Text to Speech.
Run it
Click Run. The lip-synced video appears on the node.
Portrait or video
| What you connect | What the node makes | Models |
|---|---|---|
| A Portrait and Audio | A new talking-head video from a still image. | Kling Avatar, Kling Avatar Pro, OmniHuman 1.5, OmniHuman 2.0, Seedance 2, Seedance 2 Fast, Seedance 2 Mini, Seedance 2.5, SadTalker |
| A Source video and Audio | The same video with its lips re-synced to the new audio. | Volcengine Lip Sync, Sync Lipsync v3, Lipsync 2 Pro, HeyGen Lipsync Precision, LatentSync, Video-Retalking |
| Either one, and Audio | Wav2Lip accepts a portrait or a video. | Wav2Lip |
Inputs
| Input | Accepts | What it does |
|---|---|---|
| Audio | Audio nodes | The speech or voiceover. Required for every model. |
| Portrait | Image nodes | A clear face photo, for portrait models. |
| Source video | Video nodes | The clip to dub, for dubbing models. |
The output, Video, is the URL of the lip-synced video. When several nodes are connected, the node card lets you choose which image, video and audio to use.
Settings
| Setting | What it does |
|---|---|
| Provider | The lip-sync model. The default is Kling Avatar. |
| Resolution | On Kling Avatar, Kling Avatar Pro and the Seedance models: 480p or 720p, with 720p as the default. Seedance 2 also offers 1080p. OmniHuman 1.5 offers 720p or 1080p, with 1080p as the default. OmniHuman 2.0 always makes 720p, so the field is hidden. |
| Motion Prompt (optional) | On the same models: head and expression motion, for example "slight head nods" or "expressive eyebrows". On OmniHuman 1.5 it directs the whole performance. |
| Pre & post text | Text always added before and after the motion prompt. See Prompt pre and post text. |
Settings for specific models
| Model | Settings |
|---|---|
| OmniHuman 1.5 | Motion Prompt directs the performance, for example "sing confidently into a microphone". Fast Mode trades some quality for speed. Seed makes a result repeatable; -1 means random. It animates people, pets and anime at any aspect ratio. |
| OmniHuman 2.0 | Motion Prompt steers the scene, the character's motion and the camera, in up to 300 characters; a longer prompt is cut. There is no resolution choice, no fast mode and no seed. Switching a node from OmniHuman 1.5 to 2.0 clears those values. |
| HeyGen Lipsync Precision | Dynamic Duration (on) adjusts the output length to the new audio. Remove Music Track (off) strips background music from the source video. Speech Enhancement (off) improves speech clarity. |
| Lipsync 2 Pro | Sync Mode sets what happens when the audio and the video have different lengths: Loop (the default), Bounce, Cut off, Silence or Remap. Temperature, from 0 to 1, sets how expressive the lip sync is; the default is 0.5. Active Speaker Detection syncs whoever is speaking. |
| Sync Lipsync v3 | Sync Mode, with Cut off as the default, and Active Speaker Detection, which you should turn on for a video with more than one person. The model manages its own expressiveness. |
| Volcengine Lip Sync | Mode: Lite for one frontal speaker, faster, or Basic for complex scenes with several speakers. Separate vocals (denoise) strips noise from the audio. Scene detection + speaker ID (Basic only) finds scene cuts and who speaks. Loop video if audio is longer (Lite only, on by default) and Reverse loop (ping-pong) handle audio that runs past the video. Template start time (seconds) sets where in the video the lips start to follow. The output is as long as the audio: a longer video is cut, and a shorter one loops. |
OmniHuman 2.0
OmniHuman 2.0 animates one still image from an audio track. It is a different model from OmniHuman 1.5, not a replacement. The voice drives the lips and the motion, and the output is a 720p MP4 as long as the audio, up to 5 minutes. Each limit below is checked before any credits are held, and a run outside them is refused with a message that names the limit.
| Input | Limits |
|---|---|
| Portrait | One image under 30 MB, each side 300 to 6,000 pixels, with width ÷ height from 0.4 to 2.5. JPEG, PNG, WebP, GIF or TIFF. A HEIC or BMP image is refused, so convert it to JPEG or PNG first. |
| Audio | Up to 300 seconds, in a file under 100 MB, in any common audio format, such as MP3, WAV, M4A, AAC, Ogg, FLAC or WebM. A playlist or a stream manifest is refused. |
- Short audio is padded. Audio under 4 seconds gets silence added up to 4 seconds. The avatar holds still for the padded part.
- Long audio is refused, never trimmed. Trim audio longer than 5 minutes first, for example with Trim Audio.
- The length is the length it plays. Nodaro decodes the audio to measure it, and prices the run on how long it really plays. Gaps in the audio are played as silence and count toward the length.
- Damaged audio is refused. Audio that does not decode to its end is refused before anything is held, with the code
audio_unreadable. Export the audio again as one complete file. - Busy. When too many audio files are being measured at once, the run is refused before anything is held. Try again in a moment.
The Seedance models do native, phoneme-level lip sync in more than 8 languages. They work like Generate Video with the audio sent as reference audio.
Models
| Model | Maker | Modes | Credits | Details |
|---|---|---|---|---|
| MiniMax H3 | MiniMax | Image to video, Text to video | from 253 | MiniMax H3 — premium multimodal tier: first/last frame + image/video/audio references, native audio, 2K (default) or 768P output, 4-15s per-second pricing. |
| Kling Avatar Standard | Kuaishou | Lip sync | 308 | Lip-sync a still portrait to driving audio. Standard quality. |
| Kling Avatar Pro | Kuaishou | Lip sync | 616 | Premium lip-sync — better mouth shape and timing. |
| Seedance 2 | Bytedance | Image to video, Text to video | from 253 | Seedance 2 — premium tier with native audio. Per-second pricing by resolution. |
| Seedance 2 Fast | Bytedance | Image to video, Text to video | from 198 | Cheaper / quicker Seedance 2 tier. |
| Seedance 2 Mini | Bytedance | Image to video, Text to video | from 132 | Budget Seedance 2 tier — 480p/720p only, per-second pricing by resolution. |
| Seedance 2.5 | Bytedance | Image to video, Text to video, Video to video | from 374 | Seedance 2.5 — up to 30s in one shot, native audio, wide multimodal references. 480p/720p/1080p. |
| OmniHuman 1.5 | Bytedance | Lip sync | from 1,122 | Premium prompt-directed talking avatar from a still image + audio. 720p / 1080p, up to 60s. People, pets, anime. |
| OmniHuman 2.0 | Bytedance | Lip sync | 39 | Talking avatar from one still image + audio, driven by the voice with an optional prompt for the scene, motion and camera. 720p, 4 seconds to 5 minutes, charged per second of audio. |
| Sync Lipsync v3 | Sync | Lip sync | from 1,100 | Dub existing footage — re-syncs lips to a new audio track. Video input, billed per second. |
| Volcengine Lip Sync | Volcengine | Lip sync | from 330 | Video-to-video AI dubbing — re-syncs lips to a new vocal track. Multi-speaker (scene detection + speaker ID) in basic mode. Video input, billed per second. |
The Provider list also offers HeyGen Lipsync Precision and Lipsync 2 Pro for dubbing, and LatentSync, which is best for singing, Wav2Lip, the fastest and cheapest, Video-Retalking, with built-in face enhancement, and SadTalker. MiniMax H3 (minimax-h3) is available through the API, not in the Provider list.
Audio length
| Model | Longest audio |
|---|---|
| Kling Avatar, Kling Avatar Pro | 5 minutes |
| Volcengine Lip Sync | 5 minutes |
| HeyGen Lipsync Precision, Lipsync 2 Pro, Sync Lipsync v3 | 5 minutes, as the reservation limit |
| OmniHuman 1.5 | 60 seconds |
| OmniHuman 2.0 | 5 minutes, at least 4 seconds (shorter audio is padded) |
| Seedance 2 Fast | 15.2 seconds per clip |
| Seedance 2.5 | 30 seconds per clip |
On Kling Avatar, OmniHuman 1.5 and Volcengine Lip Sync, audio longer than the limit is trimmed before the run. On OmniHuman 2.0, longer audio is refused before anything is held. On HeyGen Lipsync Precision, Lipsync 2 Pro and Sync Lipsync v3, 5 minutes is the credit reservation limit, not a trim: longer clips reserve at the 5-minute tier. Long runs on Kling Avatar and Volcengine Lip Sync can take tens of minutes, and the editor waits up to about an hour.
Credits
Most models bill per second, rounded up to the next length tier. The credit chip on the node updates when the audio is connected, because the node measures its length. When the length is unknown, the 5-minute tier is reserved. Credits beyond the real cost are refunded when the video is ready.
| Model | 15 s | 30 s | 1 min | 2 min | 5 min |
|---|---|---|---|---|---|
| Kling Avatar (720p) | 330 | 660 | 1,320 | 2,640 | 6,600 |
| Kling Avatar Pro (1080p) | 660 | 1,320 | 2,640 | 5,280 | 13,200 |
| OmniHuman 1.5 | 1,122 | 2,233 | 4,455 | — | — |
| Volcengine Lip Sync | 330 | 660 | 1,320 | 2,640 | 6,600 |
| HeyGen Lipsync Precision | 561 | 1,111 | 2,211 | 4,411 | 11,011 |
| Lipsync 2 Pro | 693 | 1,375 | 2,750 | 5,500 | 13,739 |
| Sync Lipsync v3 | 1,100 | 2,200 | 4,400 | 8,800 | 22,000 |
- OmniHuman 1.5 takes at most 60 seconds of audio, so only the 15-second, 30-second and 1-minute tiers apply. Its resolution does not change the price.
- OmniHuman 2.0 is charged per second of its audio, with no tiers. The length is rounded up to a whole second, with a minimum of 4 seconds. Nodaro measures the audio itself before it holds anything, and the hold is the charge: nothing is refunded or added afterwards. Before the audio is connected, the credit chip shows the 15-second price, marked
≈. - The Seedance models are priced per second, the same way as in Generate Video.
Tips
- Use a clear, front-facing portrait. Face quality matters more than resolution: a sharp 720p photo works better than a blurry 4K one.
- Clean the audio first. Speech without music or noise syncs best. Use Voice Extractor to isolate the voice.
- Add small motions. A motion prompt such as "slight head nods" adds realism.
- Dub in several languages. Translate the speech with Dubbing or a new voiceover, then re-sync the lips with a dubbing model.
- Short clips are cheap. Per-second pricing means a short line costs little; watch the credit chip after you connect the audio.
From the API
When you call Sync Lipsync v3 or Volcengine Lip Sync from the API or the SDK, pass audioDurationSec, the length of the output in seconds. Without it, the run is billed at the 5-minute tier with no refund: 22,000 credits on Sync Lipsync v3 and 6,600 on Volcengine Lip Sync. The editor and the MCP tool measure the audio for you.
On OmniHuman 2.0 (omnihuman-2-0), Nodaro always measures the audio and ignores audioDurationSec. A request that sends a resolution, a fast mode or a seed has them dropped. POST /v1/lip-sync takes at most 30 OmniHuman 2.0 requests a minute from one caller, and answers 429 past that. See Run a single node.
Frequently asked questions
What does the Lip Sync node need?
An audio track with speech, and either a portrait image or a video, depending on the model. Portrait models make a new talking-head video. Dubbing models, such as Sync Lipsync v3 and Volcengine Lip Sync, re-sync the lips of an existing video to new audio.
Which Lip Sync model should I choose?
Kling Avatar Pro gives the best mouth shape for a portrait. OmniHuman 1.5 follows a motion prompt and animates people, pets and anime. To dub an existing video, Volcengine Lip Sync is the cheapest modern option, and the only one that handles several speakers.
How many credits does Lip Sync cost?
Most models bill per second of audio, rounded up to a length tier of 15 seconds, 30 seconds, 1, 2 or 5 minutes. For example, Kling Avatar costs 330 credits for 15 seconds and Volcengine Lip Sync 1,320 credits for one minute.
How long can the audio be?
Up to 5 minutes on most models. OmniHuman 1.5 takes 60 seconds; longer audio is trimmed on that model. OmniHuman 2.0 takes up to 5 minutes and refuses longer audio instead of trimming it.
How do I make a talking head from text?
Connect a Text to Speech node to the Audio input and a portrait to the Portrait input. The voice track then drives the lips.
Related
AI Avatar
Text to Speech
Dubbing
Voice Extractor
Video models
Last updated on
Cinematic Avatar
Make a short cinematic clip with 1 to 3 HeyGen avatar looks from a text prompt. No script or voice; the prompt directs the scene, action and camera.
Speech to Video
Generate a video driven by a speech track with Wan 2.2. Connect speech audio, a portrait and a prompt, and get a talking video from 33 credits.