Skip to main content
Glama

Lip Sync Video

lip_sync_video

Lip-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

TableJSON Schema
NameRequiredDescriptionDefault
actionYesWhich step to run.
engineNocreate: 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_idNocreate: a face_id from identify-face (one face supported).
task_idNostatus: the task_id from create.
audio_idNocreate: alternative to sound_file — an existing audio id.
video_urlNoidentify-face: the source video (MP4/MOV, 2-60s, <=100MB, 720p/1080p). Use a SwitchApp/public URL.
session_idNocreate: from identify-face.
sound_fileNocreate: base64 data URI of the audio (e.g. data:audio/mpeg;base64,...).
speech_volumeNocreate: how loud the new speech is, as a percent 0-100 (default 100).
sound_end_timeNocreate: audio end, in MILLISECONDS.
keep_backgroundNocreate, 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_timeNocreate: audio start, in MILLISECONDS.
sound_insert_timeNocreate: where in the video to place the audio, in MILLISECONDS.
original_audio_volumeNocreate: how loud the clip's own sound stays, as a percent 0-100 (default 100, the clip keeps its sound).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / engine / description
      Previous value: -"create: OPTIONAL. Leave it out — the default is \"best\", Sync Labs Sync 3, whole-clip and highest quality, needing only video_url + sound_file. Pass \"kling\" only for the timeline flow where you place the audio yourself in milliseconds."New value: +"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."
  2. Changed2 schema fields changed
    • addedInput schema / properties / keep_background
      Added value: +{
      +  "description": "create, Sync 3 lane: keep the clip's own music and room under the new speech (default true); false gives the new speech alone.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / original_audio_volume / description
      Previous value: -"create: how loud the clip's own sound stays, as a percent 0-100 (default 0)."New value: +"create: how loud the clip's own sound stays, as a percent 0-100 (default 100, the clip keeps its sound)."
  3. Changed1 schema field changed
    • changedInput schema / properties / engine / description
      Previous value: -"create: \"best\" = highest-quality whole-clip sync (needs only video_url + sound_file). Default \"kling\" (timeline flow)."New value: +"create: OPTIONAL. Leave it out — the default is \"best\", Sync Labs Sync 3, whole-clip and highest quality, needing only video_url + sound_file. Pass \"kling\" only for the timeline flow where you place the audio yourself in milliseconds."
  4. Changed4 schema fields changed
    • changedInput schema / properties / original_audio_volume / description
      Previous value: -"create: 0-100 (default 0)."New value: +"create: how loud the clip's own sound stays, as a percent 0-100 (default 0)."
    • changedInput schema / properties / original_audio_volume / type
      Previous value: -"integer"New value: +"number"
    • changedInput schema / properties / speech_volume / description
      Previous value: -"create: 0-100 (default 100)."New value: +"create: how loud the new speech is, as a percent 0-100 (default 100)."
    • changedInput schema / properties / speech_volume / type
      Previous value: -"integer"New value: +"number"
  5. Changed1 schema field changed
    • addedInput schema / properties / engine
      Added value: +{
      +  "description": "create: \"best\" = highest-quality whole-clip sync (needs only video_url + sound_file). Default \"kling\" (timeline flow).",
      +  "enum": [
      +    "best",
      +    "kling"
      +  ],
      +  "type": "string"
      +}
  6. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources