Lip Sync Video
lip_sync_videoLip-sync audio onto one of your videos. RECOMMENDED: action="create" with engine="best" + video_url + sound_file (base64 data URI) — syncs the whole clip on the highest-quality engine, no face step needed. Kling flow (manual timing control): (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: "best" = highest-quality whole-clip sync (needs only video_url + sound_file). Default "kling" (timeline flow). | |
| 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. | |
| 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 0). |