Lip Sync Video
lip_sync_videoLip-sync audio onto one of your videos. For action="create" without engine, session_id, or face_id, the default is Sync Labs Sync 3: video_url + sound_file (base64 data URI) processes the whole clip without a face-identification step or manual timing. engine="best" explicitly selects this lane. Kling provides manual timing control with engine="kling", or with session_id/face_id when engine is omitted: (1) action="identify-face" with video_url (MP4/MOV, 2-60s, <=100MB, 720p/1080p); (2) action="create" with session_id + face_id + audio + timing IN MILLISECONDS (sound_start_time, sound_end_time, sound_insert_time) + optional speech_volume/original_audio_volume (0-100); (3) action="status" with the task_id to poll — returns a branded SwitchApp view_url when done. Charges credits on create; failed jobs are refunded.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Which step to run. | |
| engine | No | create: optional. "best" selects Sync Labs Sync 3 for whole-clip lip sync using video_url + sound_file. When engine is omitted, this lane is used unless session_id or face_id is supplied. "kling" selects the timeline flow with manual audio placement in milliseconds. | |
| face_id | No | create: a face_id from identify-face (one face supported). | |
| task_id | No | status: the task_id from create. | |
| audio_id | No | create: alternative to sound_file — an existing audio id. | |
| video_url | No | identify-face: the source video (MP4/MOV, 2-60s, <=100MB, 720p/1080p). Use a SwitchApp/public URL. | |
| session_id | No | create: from identify-face. | |
| sound_file | No | create: base64 data URI of the audio (e.g. data:audio/mpeg;base64,...). | |
| speech_volume | No | create: how loud the new speech is, as a percent 0-100 (default 100). | |
| sound_end_time | No | create: audio end, in MILLISECONDS. | |
| keep_background | No | create, Sync 3 lane: keep the clip's own music and room under the new speech (default true); false gives the new speech alone. | |
| sound_start_time | No | create: audio start, in MILLISECONDS. | |
| sound_insert_time | No | create: where in the video to place the audio, in MILLISECONDS. | |
| original_audio_volume | No | create: how loud the clip's own sound stays, as a percent 0-100 (default 100, the clip keeps its sound). |