lipsync-2-pro

lipsync-2-pro extends lipsync-2 with diffusion-based enhancement for studio-grade lip synchronization. It preserves fine facial details such as teeth, facial hair, and micro-expressions while supporting high-resolution output suitable for professional post-production workflows.

API Reference
INTEGRATE
Complete technical specification for integration
RequestResponse
Examples2
CODE
Ready-to-use code snippets for common workflows
Mycology Cleanroom Training Presenter
import { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'sync:lipsync-2-pro@1',
providerSettings: {
sync: {
syncMode: 'remap',
temperature: 0.5
}
},
inputs: {
video: 'https://assets.runware.ai/assets/inputs/cf3dab43-aa7d-48a4-b6aa-26f1ae343051.mp4',
audio: 'https://assets.runware.ai/assets/inputs/cce456d9-19ca-4553-84ed-b432003d62de.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": "sync:lipsync-2-pro@1",
"providerSettings": {
"sync": {
"syncMode": "remap",
"temperature": 0.5
}
},
"inputs": {
"video": "https://assets.runware.ai/assets/inputs/cf3dab43-aa7d-48a4-b6aa-26f1ae343051.mp4",
"audio": "https://assets.runware.ai/assets/inputs/cce456d9-19ca-4553-84ed-b432003d62de.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": "57aeb0e3-97dc-4580-8323-1ca91d9fd411",
"model": "sync:lipsync-2-pro@1",
"providerSettings": {
"sync": {
"syncMode": "remap",
"temperature": 0.5
}
},
"inputs": {
"video": "https://assets.runware.ai/assets/inputs/cf3dab43-aa7d-48a4-b6aa-26f1ae343051.mp4",
"audio": "https://assets.runware.ai/assets/inputs/cce456d9-19ca-4553-84ed-b432003d62de.mp3"
}
}
]'runware run sync:lipsync-2-pro@1 \
providerSettings.sync.syncMode=remap \
providerSettings.sync.temperature=0.5 \
inputs.video=https://assets.runware.ai/assets/inputs/cf3dab43-aa7d-48a4-b6aa-26f1ae343051.mp4 \
inputs.audio=https://assets.runware.ai/assets/inputs/cce456d9-19ca-4553-84ed-b432003d62de.mp3{
"taskType": "videoInference",
"taskUUID": "57aeb0e3-97dc-4580-8323-1ca91d9fd411",
"model": "sync:lipsync-2-pro@1",
"providerSettings": {
"sync": {
"syncMode": "remap",
"temperature": 0.5
}
},
"inputs": {
"video": "https://assets.runware.ai/assets/inputs/cf3dab43-aa7d-48a4-b6aa-26f1ae343051.mp4",
"audio": "https://assets.runware.ai/assets/inputs/cce456d9-19ca-4553-84ed-b432003d62de.mp3"
}
}{
"taskType": "videoInference",
"taskUUID": "57aeb0e3-97dc-4580-8323-1ca91d9fd411",
"videoUUID": "6df7e292-f6c2-4b9a-a632-864bf3155d96",
"videoURL": "https://vm.runware.ai/video/os/a09dlim3/ws/5/vi/6df7e292-f6c2-4b9a-a632-864bf3155d96.mp4",
"cost": 0.69024169
}Hearing Jewelry Showcase Reel
import { createClient } from '@runware/sdk'
const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()
const [result] = await client.run({
model: 'sync:lipsync-2-pro@1',
providerSettings: {
sync: {
syncMode: 'remap',
temperature: 0.5
}
},
inputs: {
video: 'https://assets.runware.ai/assets/inputs/19d03725-ec44-4bfe-a1a5-a62860a036f8.mp4',
audio: 'https://assets.runware.ai/assets/inputs/5873380a-36fb-4cfe-9268-4e67dc2083b3.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": "sync:lipsync-2-pro@1",
"providerSettings": {
"sync": {
"syncMode": "remap",
"temperature": 0.5
}
},
"inputs": {
"video": "https://assets.runware.ai/assets/inputs/19d03725-ec44-4bfe-a1a5-a62860a036f8.mp4",
"audio": "https://assets.runware.ai/assets/inputs/5873380a-36fb-4cfe-9268-4e67dc2083b3.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": "130c7c53-ac1b-46d1-a55f-200a7a07413b",
"model": "sync:lipsync-2-pro@1",
"providerSettings": {
"sync": {
"syncMode": "remap",
"temperature": 0.5
}
},
"inputs": {
"video": "https://assets.runware.ai/assets/inputs/19d03725-ec44-4bfe-a1a5-a62860a036f8.mp4",
"audio": "https://assets.runware.ai/assets/inputs/5873380a-36fb-4cfe-9268-4e67dc2083b3.mp3"
}
}
]'runware run sync:lipsync-2-pro@1 \
providerSettings.sync.syncMode=remap \
providerSettings.sync.temperature=0.5 \
inputs.video=https://assets.runware.ai/assets/inputs/19d03725-ec44-4bfe-a1a5-a62860a036f8.mp4 \
inputs.audio=https://assets.runware.ai/assets/inputs/5873380a-36fb-4cfe-9268-4e67dc2083b3.mp3{
"taskType": "videoInference",
"taskUUID": "130c7c53-ac1b-46d1-a55f-200a7a07413b",
"model": "sync:lipsync-2-pro@1",
"providerSettings": {
"sync": {
"syncMode": "remap",
"temperature": 0.5
}
},
"inputs": {
"video": "https://assets.runware.ai/assets/inputs/19d03725-ec44-4bfe-a1a5-a62860a036f8.mp4",
"audio": "https://assets.runware.ai/assets/inputs/5873380a-36fb-4cfe-9268-4e67dc2083b3.mp3"
}
}{
"taskType": "videoInference",
"taskUUID": "130c7c53-ac1b-46d1-a55f-200a7a07413b",
"videoUUID": "f69e4ba6-4a83-495e-9c93-ab72417551c3",
"videoURL": "https://vm.runware.ai/video/os/a01d21/ws/5/vi/f69e4ba6-4a83-495e-9c93-ab72417551c3.mp4",
"cost": 0.61083331
}