live
MODEL IDsync:lipsync-2-pro@1

lipsync-2-pro

sync.
by

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.

lipsync-2-pro

audio-driven

Hearing Jewelry Showcase Reel$0.611~1m 18s
Try in Playground
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"
  }
}
Response
{
  "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
}

audio-driven

Mycology Cleanroom Training Presenter$0.69~3m 9s
Try in Playground
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"
  }
}
Response
{
  "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
}

segmented-lip-sync

Weather Station Spoken Bridge Segment$0.443~5m 22s
Try in Playground
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: {
      activeSpeakerDetection: true,
      occlusionDetectionEnabled: true,
      syncMode: 'cut_off',
      temperature: 0.65,
      segments: [
        {
          startTime: 0,
          endTime: 3,
          ref: 'speaker_a'
        },
        {
          startTime: 3,
          endTime: 6,
          ref: 'speaker_b'
        }
      ]
    }
  },
  inputs: {
    video: 'https://assets.runware.ai/assets/inputs/fdf38ab7-73ed-4f11-845e-f51b96c46ddd.mp4',
    audio: [
      {
        id: 'speaker_a',
        source: 'https://assets.runware.ai/assets/inputs/13b7f6bd-cab8-451a-8578-b7ab5aaaa23b.mp3'
      },
      {
        id: 'speaker_b',
        source: 'https://assets.runware.ai/assets/inputs/9e8ec399-995a-4c80-9751-c660de97076a.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": {
                    "activeSpeakerDetection": True,
                    "occlusionDetectionEnabled": True,
                    "syncMode": "cut_off",
                    "temperature": 0.65,
                    "segments": [
                        {
                            "startTime": 0,
                            "endTime": 3,
                            "ref": "speaker_a"
                        },
                        {
                            "startTime": 3,
                            "endTime": 6,
                            "ref": "speaker_b"
                        }
                    ]
                }
            },
            "inputs": {
                "video": "https://assets.runware.ai/assets/inputs/fdf38ab7-73ed-4f11-845e-f51b96c46ddd.mp4",
                "audio": [
                    {
                        "id": "speaker_a",
                        "source": "https://assets.runware.ai/assets/inputs/13b7f6bd-cab8-451a-8578-b7ab5aaaa23b.mp3"
                    },
                    {
                        "id": "speaker_b",
                        "source": "https://assets.runware.ai/assets/inputs/9e8ec399-995a-4c80-9751-c660de97076a.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": "e71f8b24-5792-41db-9918-d6db4bc9a15a",
      "model": "sync:lipsync-2-pro@1",
      "providerSettings": {
        "sync": {
          "activeSpeakerDetection": true,
          "occlusionDetectionEnabled": true,
          "syncMode": "cut_off",
          "temperature": 0.65,
          "segments": [
            {
              "startTime": 0,
              "endTime": 3,
              "ref": "speaker_a"
            },
            {
              "startTime": 3,
              "endTime": 6,
              "ref": "speaker_b"
            }
          ]
        }
      },
      "inputs": {
        "video": "https://assets.runware.ai/assets/inputs/fdf38ab7-73ed-4f11-845e-f51b96c46ddd.mp4",
        "audio": [
          {
            "id": "speaker_a",
            "source": "https://assets.runware.ai/assets/inputs/13b7f6bd-cab8-451a-8578-b7ab5aaaa23b.mp3"
          },
          {
            "id": "speaker_b",
            "source": "https://assets.runware.ai/assets/inputs/9e8ec399-995a-4c80-9751-c660de97076a.mp3"
          }
        ]
      }
    }
  ]'
runware run sync:lipsync-2-pro@1 \
  providerSettings.sync.activeSpeakerDetection=true \
  providerSettings.sync.occlusionDetectionEnabled=true \
  providerSettings.sync.syncMode=cut_off \
  providerSettings.sync.temperature=0.65 \
  providerSettings.sync.segments.0.startTime=0 \
  providerSettings.sync.segments.0.endTime=3 \
  providerSettings.sync.segments.0.ref=speaker_a \
  providerSettings.sync.segments.1.startTime=3 \
  providerSettings.sync.segments.1.endTime=6 \
  providerSettings.sync.segments.1.ref=speaker_b \
  inputs.video=https://assets.runware.ai/assets/inputs/fdf38ab7-73ed-4f11-845e-f51b96c46ddd.mp4 \
  inputs.audio.0.id=speaker_a \
  inputs.audio.0.source=https://assets.runware.ai/assets/inputs/13b7f6bd-cab8-451a-8578-b7ab5aaaa23b.mp3 \
  inputs.audio.1.id=speaker_b \
  inputs.audio.1.source=https://assets.runware.ai/assets/inputs/9e8ec399-995a-4c80-9751-c660de97076a.mp3
{
  "taskType": "videoInference",
  "taskUUID": "e71f8b24-5792-41db-9918-d6db4bc9a15a",
  "model": "sync:lipsync-2-pro@1",
  "providerSettings": {
    "sync": {
      "activeSpeakerDetection": true,
      "occlusionDetectionEnabled": true,
      "syncMode": "cut_off",
      "temperature": 0.65,
      "segments": [
        {
          "startTime": 0,
          "endTime": 3,
          "ref": "speaker_a"
        },
        {
          "startTime": 3,
          "endTime": 6,
          "ref": "speaker_b"
        }
      ]
    }
  },
  "inputs": {
    "video": "https://assets.runware.ai/assets/inputs/fdf38ab7-73ed-4f11-845e-f51b96c46ddd.mp4",
    "audio": [
      {
        "id": "speaker_a",
        "source": "https://assets.runware.ai/assets/inputs/13b7f6bd-cab8-451a-8578-b7ab5aaaa23b.mp3"
      },
      {
        "id": "speaker_b",
        "source": "https://assets.runware.ai/assets/inputs/9e8ec399-995a-4c80-9751-c660de97076a.mp3"
      }
    ]
  }
}
Response
{
  "taskType": "videoInference",
  "taskUUID": "e71f8b24-5792-41db-9918-d6db4bc9a15a",
  "videoUUID": "8c0b3d7a-766d-40f1-8fb4-fac15e48e2de",
  "videoURL": "https://vm.runware.ai/video/os/a10dlim3/ws/5/vi/8c0b3d7a-766d-40f1-8fb4-fac15e48e2de.mp4",
  "cost": 0.4428786
}

segmented-lip-sync

Conflict Mediation Sonic Logo Sting$0.37~2m 9s
Try in Playground
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: {
      segments: [
        {
          startTime: 0,
          endTime: 3,
          ref: 'speaker_a'
        },
        {
          startTime: 3,
          endTime: 6,
          ref: 'speaker_b'
        }
      ],
      activeSpeakerDetection: true,
      occlusionDetectionEnabled: true,
      syncMode: 'cut_off',
      temperature: 0.65
    }
  },
  inputs: {
    video: 'https://assets.runware.ai/assets/inputs/4f3d091a-7b13-4e74-900d-907bd9a23867.mp4',
    audio: [
      {
        id: 'speaker_a',
        source: 'https://assets.runware.ai/assets/inputs/580a97e2-bd2d-4e13-8d25-58f01e4f68b5.mp3'
      },
      {
        id: 'speaker_b',
        source: 'https://assets.runware.ai/assets/inputs/e9d4ca7d-235f-4b62-9d00-3874dc38de5b.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": {
                    "segments": [
                        {
                            "startTime": 0,
                            "endTime": 3,
                            "ref": "speaker_a"
                        },
                        {
                            "startTime": 3,
                            "endTime": 6,
                            "ref": "speaker_b"
                        }
                    ],
                    "activeSpeakerDetection": True,
                    "occlusionDetectionEnabled": True,
                    "syncMode": "cut_off",
                    "temperature": 0.65
                }
            },
            "inputs": {
                "video": "https://assets.runware.ai/assets/inputs/4f3d091a-7b13-4e74-900d-907bd9a23867.mp4",
                "audio": [
                    {
                        "id": "speaker_a",
                        "source": "https://assets.runware.ai/assets/inputs/580a97e2-bd2d-4e13-8d25-58f01e4f68b5.mp3"
                    },
                    {
                        "id": "speaker_b",
                        "source": "https://assets.runware.ai/assets/inputs/e9d4ca7d-235f-4b62-9d00-3874dc38de5b.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": "32329cbf-4eb3-4580-ab5d-bec96474de9c",
      "model": "sync:lipsync-2-pro@1",
      "providerSettings": {
        "sync": {
          "segments": [
            {
              "startTime": 0,
              "endTime": 3,
              "ref": "speaker_a"
            },
            {
              "startTime": 3,
              "endTime": 6,
              "ref": "speaker_b"
            }
          ],
          "activeSpeakerDetection": true,
          "occlusionDetectionEnabled": true,
          "syncMode": "cut_off",
          "temperature": 0.65
        }
      },
      "inputs": {
        "video": "https://assets.runware.ai/assets/inputs/4f3d091a-7b13-4e74-900d-907bd9a23867.mp4",
        "audio": [
          {
            "id": "speaker_a",
            "source": "https://assets.runware.ai/assets/inputs/580a97e2-bd2d-4e13-8d25-58f01e4f68b5.mp3"
          },
          {
            "id": "speaker_b",
            "source": "https://assets.runware.ai/assets/inputs/e9d4ca7d-235f-4b62-9d00-3874dc38de5b.mp3"
          }
        ]
      }
    }
  ]'
runware run sync:lipsync-2-pro@1 \
  providerSettings.sync.segments.0.startTime=0 \
  providerSettings.sync.segments.0.endTime=3 \
  providerSettings.sync.segments.0.ref=speaker_a \
  providerSettings.sync.segments.1.startTime=3 \
  providerSettings.sync.segments.1.endTime=6 \
  providerSettings.sync.segments.1.ref=speaker_b \
  providerSettings.sync.activeSpeakerDetection=true \
  providerSettings.sync.occlusionDetectionEnabled=true \
  providerSettings.sync.syncMode=cut_off \
  providerSettings.sync.temperature=0.65 \
  inputs.video=https://assets.runware.ai/assets/inputs/4f3d091a-7b13-4e74-900d-907bd9a23867.mp4 \
  inputs.audio.0.id=speaker_a \
  inputs.audio.0.source=https://assets.runware.ai/assets/inputs/580a97e2-bd2d-4e13-8d25-58f01e4f68b5.mp3 \
  inputs.audio.1.id=speaker_b \
  inputs.audio.1.source=https://assets.runware.ai/assets/inputs/e9d4ca7d-235f-4b62-9d00-3874dc38de5b.mp3
{
  "taskType": "videoInference",
  "taskUUID": "32329cbf-4eb3-4580-ab5d-bec96474de9c",
  "model": "sync:lipsync-2-pro@1",
  "providerSettings": {
    "sync": {
      "segments": [
        {
          "startTime": 0,
          "endTime": 3,
          "ref": "speaker_a"
        },
        {
          "startTime": 3,
          "endTime": 6,
          "ref": "speaker_b"
        }
      ],
      "activeSpeakerDetection": true,
      "occlusionDetectionEnabled": true,
      "syncMode": "cut_off",
      "temperature": 0.65
    }
  },
  "inputs": {
    "video": "https://assets.runware.ai/assets/inputs/4f3d091a-7b13-4e74-900d-907bd9a23867.mp4",
    "audio": [
      {
        "id": "speaker_a",
        "source": "https://assets.runware.ai/assets/inputs/580a97e2-bd2d-4e13-8d25-58f01e4f68b5.mp3"
      },
      {
        "id": "speaker_b",
        "source": "https://assets.runware.ai/assets/inputs/e9d4ca7d-235f-4b62-9d00-3874dc38de5b.mp3"
      }
    ]
  }
}
Response
{
  "taskType": "videoInference",
  "taskUUID": "32329cbf-4eb3-4580-ab5d-bec96474de9c",
  "videoUUID": "1cdea33e-d29a-4153-89d9-aacdd909d67f",
  "videoURL": "https://vm.runware.ai/video/os/a10dlim3/ws/5/vi/1cdea33e-d29a-4153-89d9-aacdd909d67f.mp4",
  "cost": 0.36955419
}