KlingAI Lip-Sync

KlingAI Lip-Sync aligns mouth motion and facial expression with new dialogue or music in existing video. Upload Kling generated clips or compatible footage, attach an audio track, then get back natural synced performance that fits multi character scenes and production workflows.

API Reference
INTEGRATE
Complete technical specification for integration
RequestResponse
Examples4
CODE
Ready-to-use code snippets for common workflows
audio-driven
Forensic Botany Series Teaser$0.32~2m 33simport { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'klingai:7@1',
providerSettings: {
klingai: {
originalAudioVolume: 0,
soundVolume: 1
}
},
inputs: {
video: 'https://assets.runware.ai/assets/inputs/304c3abe-cc90-419e-b948-91d234a68b76.mp4',
audio: 'https://assets.runware.ai/assets/inputs/860bda9d-3783-4354-8c0e-75e4e09df1bf.mp3'
}
})import asyncio
import os
from runware import Runware
async def main():
async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
results = await client.run({
"model": "klingai:7@1",
"providerSettings": {
"klingai": {
"originalAudioVolume": 0,
"soundVolume": 1
}
},
"inputs": {
"video": "https://assets.runware.ai/assets/inputs/304c3abe-cc90-419e-b948-91d234a68b76.mp4",
"audio": "https://assets.runware.ai/assets/inputs/860bda9d-3783-4354-8c0e-75e4e09df1bf.mp3"
}
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "videoInference",
"taskUUID": "757fa204-e531-4057-97dd-666364262081",
"model": "klingai:7@1",
"providerSettings": {
"klingai": {
"originalAudioVolume": 0,
"soundVolume": 1
}
},
"inputs": {
"video": "https://assets.runware.ai/assets/inputs/304c3abe-cc90-419e-b948-91d234a68b76.mp4",
"audio": "https://assets.runware.ai/assets/inputs/860bda9d-3783-4354-8c0e-75e4e09df1bf.mp3"
}
}
]'runware run klingai:7@1 \
providerSettings.klingai.originalAudioVolume=0 \
providerSettings.klingai.soundVolume=1 \
inputs.video=https://assets.runware.ai/assets/inputs/304c3abe-cc90-419e-b948-91d234a68b76.mp4 \
inputs.audio=https://assets.runware.ai/assets/inputs/860bda9d-3783-4354-8c0e-75e4e09df1bf.mp3{
"taskType": "videoInference",
"taskUUID": "757fa204-e531-4057-97dd-666364262081",
"model": "klingai:7@1",
"providerSettings": {
"klingai": {
"originalAudioVolume": 0,
"soundVolume": 1
}
},
"inputs": {
"video": "https://assets.runware.ai/assets/inputs/304c3abe-cc90-419e-b948-91d234a68b76.mp4",
"audio": "https://assets.runware.ai/assets/inputs/860bda9d-3783-4354-8c0e-75e4e09df1bf.mp3"
}
}Response
{
"taskType": "videoInference",
"taskUUID": "757fa204-e531-4057-97dd-666364262081",
"videoUUID": "86a523f1-2740-4d3e-ad35-1c18ced7300a",
"videoURL": "https://vm.runware.ai/video/os/a05d22/ws/5/vi/86a523f1-2740-4d3e-ad35-1c18ced7300a.mp4",
"seed": 538609144,
"cost": 0.3202584
}audio-driven
Aquaculture Oxygen Meter Explainer Clip$0.32~2m 35simport { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'klingai:7@1',
providerSettings: {
klingai: {
originalAudioVolume: 0,
soundVolume: 1
}
},
inputs: {
video: 'https://assets.runware.ai/assets/inputs/f06a0ddb-a95f-4893-b2ac-e0647151d9c8.mp4',
audio: 'https://assets.runware.ai/assets/inputs/2b973b2e-6c8b-46d4-9a6e-2b68e9da43de.mp3'
}
})import asyncio
import os
from runware import Runware
async def main():
async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
results = await client.run({
"model": "klingai:7@1",
"providerSettings": {
"klingai": {
"originalAudioVolume": 0,
"soundVolume": 1
}
},
"inputs": {
"video": "https://assets.runware.ai/assets/inputs/f06a0ddb-a95f-4893-b2ac-e0647151d9c8.mp4",
"audio": "https://assets.runware.ai/assets/inputs/2b973b2e-6c8b-46d4-9a6e-2b68e9da43de.mp3"
}
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "videoInference",
"taskUUID": "c6e439a3-e888-4cae-9ef5-874ff3cdc297",
"model": "klingai:7@1",
"providerSettings": {
"klingai": {
"originalAudioVolume": 0,
"soundVolume": 1
}
},
"inputs": {
"video": "https://assets.runware.ai/assets/inputs/f06a0ddb-a95f-4893-b2ac-e0647151d9c8.mp4",
"audio": "https://assets.runware.ai/assets/inputs/2b973b2e-6c8b-46d4-9a6e-2b68e9da43de.mp3"
}
}
]'runware run klingai:7@1 \
providerSettings.klingai.originalAudioVolume=0 \
providerSettings.klingai.soundVolume=1 \
inputs.video=https://assets.runware.ai/assets/inputs/f06a0ddb-a95f-4893-b2ac-e0647151d9c8.mp4 \
inputs.audio=https://assets.runware.ai/assets/inputs/2b973b2e-6c8b-46d4-9a6e-2b68e9da43de.mp3{
"taskType": "videoInference",
"taskUUID": "c6e439a3-e888-4cae-9ef5-874ff3cdc297",
"model": "klingai:7@1",
"providerSettings": {
"klingai": {
"originalAudioVolume": 0,
"soundVolume": 1
}
},
"inputs": {
"video": "https://assets.runware.ai/assets/inputs/f06a0ddb-a95f-4893-b2ac-e0647151d9c8.mp4",
"audio": "https://assets.runware.ai/assets/inputs/2b973b2e-6c8b-46d4-9a6e-2b68e9da43de.mp3"
}
}Response
{
"taskType": "videoInference",
"taskUUID": "c6e439a3-e888-4cae-9ef5-874ff3cdc297",
"videoUUID": "491218f3-0518-4a9f-aa14-735a9178e696",
"videoURL": "https://vm.runware.ai/video/os/a09dlim3/ws/5/vi/491218f3-0518-4a9f-aa14-735a9178e696.mp4",
"seed": 671818822,
"cost": 0.3202584
}audio-driven
Seaweed Rain Jacket Showcase Reel$0.32~2m 40simport { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'klingai:7@1',
providerSettings: {
klingai: {
originalAudioVolume: 0,
soundVolume: 1
}
},
inputs: {
video: 'https://assets.runware.ai/assets/inputs/62670d5a-9c43-44ab-87f4-5fbaa930c3f8.mp4',
audio: 'https://assets.runware.ai/assets/inputs/692ce0c7-e493-47f6-aa62-0db281976288.mp3'
}
})import asyncio
import os
from runware import Runware
async def main():
async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
results = await client.run({
"model": "klingai:7@1",
"providerSettings": {
"klingai": {
"originalAudioVolume": 0,
"soundVolume": 1
}
},
"inputs": {
"video": "https://assets.runware.ai/assets/inputs/62670d5a-9c43-44ab-87f4-5fbaa930c3f8.mp4",
"audio": "https://assets.runware.ai/assets/inputs/692ce0c7-e493-47f6-aa62-0db281976288.mp3"
}
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "videoInference",
"taskUUID": "413322b8-be96-4e74-9f5b-2d408033825b",
"model": "klingai:7@1",
"providerSettings": {
"klingai": {
"originalAudioVolume": 0,
"soundVolume": 1
}
},
"inputs": {
"video": "https://assets.runware.ai/assets/inputs/62670d5a-9c43-44ab-87f4-5fbaa930c3f8.mp4",
"audio": "https://assets.runware.ai/assets/inputs/692ce0c7-e493-47f6-aa62-0db281976288.mp3"
}
}
]'runware run klingai:7@1 \
providerSettings.klingai.originalAudioVolume=0 \
providerSettings.klingai.soundVolume=1 \
inputs.video=https://assets.runware.ai/assets/inputs/62670d5a-9c43-44ab-87f4-5fbaa930c3f8.mp4 \
inputs.audio=https://assets.runware.ai/assets/inputs/692ce0c7-e493-47f6-aa62-0db281976288.mp3{
"taskType": "videoInference",
"taskUUID": "413322b8-be96-4e74-9f5b-2d408033825b",
"model": "klingai:7@1",
"providerSettings": {
"klingai": {
"originalAudioVolume": 0,
"soundVolume": 1
}
},
"inputs": {
"video": "https://assets.runware.ai/assets/inputs/62670d5a-9c43-44ab-87f4-5fbaa930c3f8.mp4",
"audio": "https://assets.runware.ai/assets/inputs/692ce0c7-e493-47f6-aa62-0db281976288.mp3"
}
}Response
{
"taskType": "videoInference",
"taskUUID": "413322b8-be96-4e74-9f5b-2d408033825b",
"videoUUID": "421096cf-2208-4161-aadb-2b6180713651",
"videoURL": "https://vm.runware.ai/video/os/a01d21/ws/5/vi/421096cf-2208-4161-aadb-2b6180713651.mp4",
"seed": 1932753860,
"cost": 0.3202584
}audio-driven
Planetarium Midnight Broadcast Ident$0.32~2m 13simport { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'klingai:7@1',
providerSettings: {
klingai: {
originalAudioVolume: 0,
soundVolume: 1
}
},
inputs: {
video: 'https://assets.runware.ai/assets/inputs/998aff6f-feee-4479-8e68-078f92605b28.mp4',
audio: 'https://assets.runware.ai/assets/inputs/6a180797-98b8-40eb-9461-37292556eb5b.mp3'
}
})import asyncio
import os
from runware import Runware
async def main():
async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
results = await client.run({
"model": "klingai:7@1",
"providerSettings": {
"klingai": {
"originalAudioVolume": 0,
"soundVolume": 1
}
},
"inputs": {
"video": "https://assets.runware.ai/assets/inputs/998aff6f-feee-4479-8e68-078f92605b28.mp4",
"audio": "https://assets.runware.ai/assets/inputs/6a180797-98b8-40eb-9461-37292556eb5b.mp3"
}
})
asyncio.run(main())curl https://api.runware.ai/v1 \
-H "Authorization: Bearer $RUNWARE_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "videoInference",
"taskUUID": "4da3f2a7-a8da-4977-8fe4-b7c9719f7f6b",
"model": "klingai:7@1",
"providerSettings": {
"klingai": {
"originalAudioVolume": 0,
"soundVolume": 1
}
},
"inputs": {
"video": "https://assets.runware.ai/assets/inputs/998aff6f-feee-4479-8e68-078f92605b28.mp4",
"audio": "https://assets.runware.ai/assets/inputs/6a180797-98b8-40eb-9461-37292556eb5b.mp3"
}
}
]'runware run klingai:7@1 \
providerSettings.klingai.originalAudioVolume=0 \
providerSettings.klingai.soundVolume=1 \
inputs.video=https://assets.runware.ai/assets/inputs/998aff6f-feee-4479-8e68-078f92605b28.mp4 \
inputs.audio=https://assets.runware.ai/assets/inputs/6a180797-98b8-40eb-9461-37292556eb5b.mp3{
"taskType": "videoInference",
"taskUUID": "4da3f2a7-a8da-4977-8fe4-b7c9719f7f6b",
"model": "klingai:7@1",
"providerSettings": {
"klingai": {
"originalAudioVolume": 0,
"soundVolume": 1
}
},
"inputs": {
"video": "https://assets.runware.ai/assets/inputs/998aff6f-feee-4479-8e68-078f92605b28.mp4",
"audio": "https://assets.runware.ai/assets/inputs/6a180797-98b8-40eb-9461-37292556eb5b.mp3"
}
}Response
{
"taskType": "videoInference",
"taskUUID": "4da3f2a7-a8da-4977-8fe4-b7c9719f7f6b",
"videoUUID": "8bad3e16-3791-4f7c-97f1-8b70f75d8d9c",
"videoURL": "https://vm.runware.ai/video/os/a07dlim3/ws/5/vi/8bad3e16-3791-4f7c-97f1-8b70f75d8d9c.mp4",
"seed": 371405559,
"cost": 0.3202584
}