NodaroAccount
Nodaro Docs
DocumentationNode ReferenceModelsTemplatesAI Agents (MCP)DevelopersSelf-hostingResearchCompare
Video

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.

portraitaudioGenerate ImageFront-facing portraitTextThe line to sayText to SpeechElevenLabs v3Lip SyncKling Avatar Pro
A portrait and a generated voice line become a talking-head video.

Portrait or video

What you connectWhat the node makesModels
A Portrait and AudioA 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 AudioThe 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 AudioWav2Lip accepts a portrait or a video.Wav2Lip

Inputs

InputAcceptsWhat it does
AudioAudio nodesThe speech or voiceover. Required for every model.
PortraitImage nodesA clear face photo, for portrait models.
Source videoVideo nodesThe 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

SettingWhat it does
ProviderThe lip-sync model. The default is Kling Avatar.
ResolutionOn 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 textText always added before and after the motion prompt. See Prompt pre and post text.

Settings for specific models

ModelSettings
OmniHuman 1.5Motion 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.0Motion 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 PrecisionDynamic 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 ProSync 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 v3Sync 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 SyncMode: 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.

InputLimits
PortraitOne 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.
AudioUp 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

ModelMakerModesCreditsDetails
MiniMax H3MiniMaxImage to video, Text to videofrom 253MiniMax 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 StandardKuaishouLip sync308Lip-sync a still portrait to driving audio. Standard quality.
Kling Avatar ProKuaishouLip sync616Premium lip-sync — better mouth shape and timing.
Seedance 2BytedanceImage to video, Text to videofrom 253Seedance 2 — premium tier with native audio. Per-second pricing by resolution.
Seedance 2 FastBytedanceImage to video, Text to videofrom 198Cheaper / quicker Seedance 2 tier.
Seedance 2 MiniBytedanceImage to video, Text to videofrom 132Budget Seedance 2 tier — 480p/720p only, per-second pricing by resolution.
Seedance 2.5BytedanceImage to video, Text to video, Video to videofrom 374Seedance 2.5 — up to 30s in one shot, native audio, wide multimodal references. 480p/720p/1080p.
OmniHuman 1.5BytedanceLip syncfrom 1,122Premium prompt-directed talking avatar from a still image + audio. 720p / 1080p, up to 60s. People, pets, anime.
OmniHuman 2.0BytedanceLip sync39Talking 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 v3SyncLip syncfrom 1,100Dub existing footage — re-syncs lips to a new audio track. Video input, billed per second.
Volcengine Lip SyncVolcengineLip syncfrom 330Video-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

ModelLongest audio
Kling Avatar, Kling Avatar Pro5 minutes
Volcengine Lip Sync5 minutes
HeyGen Lipsync Precision, Lipsync 2 Pro, Sync Lipsync v35 minutes, as the reservation limit
OmniHuman 1.560 seconds
OmniHuman 2.05 minutes, at least 4 seconds (shorter audio is padded)
Seedance 2 Fast15.2 seconds per clip
Seedance 2.530 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.

Model15 s30 s1 min2 min5 min
Kling Avatar (720p)3306601,3202,6406,600
Kling Avatar Pro (1080p)6601,3202,6405,28013,200
OmniHuman 1.51,1222,2334,455——
Volcengine Lip Sync3306601,3202,6406,600
HeyGen Lipsync Precision5611,1112,2114,41111,011
Lipsync 2 Pro6931,3752,7505,50013,739
Sync Lipsync v31,1002,2004,4008,80022,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.

Last updated on

On this page