Skip to main content
Model ID
kling-lip-sync
Calling method: async

Kling Advanced Lip Sync

Generates a new video where the selected face(s) in the source video are lip-synced to a user-supplied audio clip. Builds on top of the kling-identify-face analysis pass.

Typical Workflow

  1. Run kling-identify-face on your source video to obtain a session_id and the list of detected face_ids.
  2. Submit kling-lip-sync with that session_id and a face_choose array selecting which face(s) to drive and the audio to use.

face_choose Schema

face_choose is forwarded verbatim to Kling and must follow Kling’s native format:
[
  {
    "face_id": "0",
    "sound_file": "https://.../audio.mp3",
    "sound_insert_time": 1000,
    "sound_start_time": 0,
    "sound_end_time": 3000,
    "sound_volume": 2,
    "original_audio_volume": 2
  }
]
  • face_id (string): one of the IDs returned by kling-identify-face.
  • sound_file (URL): the audio clip to lip-sync to.
  • sound_insert_time (ms): position in the source video where the audio is inserted.
  • sound_start_time / sound_end_time (ms): clip window inside the audio file.
  • sound_volume / original_audio_volume: relative mix levels.
Multiple entries may be provided to lip-sync more than one face. See https://kling.ai/document-api/apiReference/model/lipSync for the authoritative field reference. This endpoint is asynchronous — final video URLs arrive via the standard Kling callback once generation completes.