Skip to main content
This node re-syncs mouth movement in a video to new speech audio using the sync.so API. It handles close-ups, profiles and obstructions automatically while preserving the speaker’s expression. Cost scales with output duration.

Inputs

The model parameter is a dynamic combo that includes the following sub-parameters: Sync mode options:
  • bounce: Video plays forward then backward until the audio ends (output = audio length)
  • loop: Video restarts until the audio ends (output = audio length)
  • remap: Video is time-stretched to match the audio (output = audio length)
  • cut_off: The longer track is trimmed (output = shorter length)
  • silence: Nothing is trimmed; the shorter track is padded (output = longer length)
Speaker selection options:
  • default: Let the model decide which face to lipsync
  • auto-detect: Detect and follow the active speaker
  • coordinates: Target the face at pixel (speaker_x, speaker_y) in the frame chosen by speaker_frame
Constraints:
  • Video resolution must not exceed 4K (4096x2160). Videos above this limit will raise an error.
  • Audio duration must not exceed 600 seconds (10 minutes).
  • The speaker_frame, speaker_x, and speaker_y parameters are only used when speaker_selection is set to “coordinates”.

Outputs

This documentation was AI-generated. If you find any errors or have suggestions for improvement, please feel free to contribute! Edit on GitHub

Source fingerprint (SHA-256): b41f8c9bf0d55059f081a66af20636ec96462c3fd9caeb685cab10278f84678a