> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gmicloud.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# kling-lip-sync

> API usage guide for kling-lip-sync.

{/* source_model_id: kling-lip-sync */}

{/* source_updated_at: 1782169320 */}

**Model ID**

```bash theme={null}
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_id`s.
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](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.
