---
title: Lip Sync API — Sync Any Audio to Video via REST | ModelsLab
description: Lip sync API: send a video URL and an audio URL to /api/v7/video-fusion/lip-sync and get back matched mouth movement. Any language. Plans from $21/month.
url: https://modelslab.com/lip-sync-api
canonical: https://modelslab.com/lip-sync-api
type: website
component: Seo/LipSyncApi
generated_at: 2026-09-16T12:05:31.656154Z
---

Imagen

Lip Sync API — Sync Any Audio to Video
---

Send a video URL and an audio URL, get back a clip whose mouth movement matches the new speech. Any language, any voice — including one you cloned on the same key. Video plans from $21/month.

[Get API Key — $21/Month](https://modelslab.com/register) [API Documentation](https://docs.modelslab.com)

What the Lip Sync API Does
---

### New Audio, Matching Mouth

The lip sync API takes a video of a speaker and a separate audio track and returns the video with the speaker’s mouth movement regenerated to match the audio. The rest of the frame is untouched. It is the endpoint behind dubbing into another language, replacing a line without a reshoot, and turning a generated avatar into a talking head.

It does not care where the audio came from. Record it, generate it with the text-to-speech endpoint, or generate it in a voice you cloned from a 4-second sample — all three run on the same ModelsLab key, so a full dubbing pipeline is two requests.

### Speech to Video

Teams searching for a “speech to video API” usually want exactly this pairing: text in, speech generated, speech synced onto a presenter. Generate the speech with POST /api/v6/voice/text\_to\_audio, pass the returned audio URL as `init\_audio` to the lip sync endpoint together with the presenter clip, and the result is a video of the presenter delivering the new script.

- Works in any language — the model follows the audio, not a phoneme list
- Keeps the original footage; only the mouth region is regenerated
- Accepts generated or cloned speech from the voice API
- Async id with fetch endpoint and webhook delivery
- Billed per call; a video plan from $21/month unlocks the endpoint

Lip Sync API quick start
---

One POST to /api/v7/video-fusion/lip-sync with init\_video, init\_audio and model\_id.

### Python — sync a new audio track onto a clip

Python

```
<code>1import requests
2

3response = requests.post(
4    "https://modelslab.com/api/v7/video-fusion/lip-sync",
5    headers={
6        "Authorization": "Bearer YOUR_MODELSLAB_API_KEY",
7        "Content-Type": "application/json",
8    },
9    json={
10        "model_id": "lipsync-2",
11        "init_video": "https://example.com/presenter.mp4",
12        "init_audio": "https://example.com/spanish-voiceover.mp3",
13    },
14)
15

16# Returns an id for the render — poll fetch/{id} or use a webhook
17print(response.json())</code>
```

### JavaScript — text to speech, then lip sync

JavaScript

```
<code>1const headers = {
2  'Content-Type': 'application/json',
3  Authorization: 'Bearer YOUR_MODELSLAB_API_KEY',
4};
5

6// 1. Generate the speech (v6 voice endpoint takes the key in the body)
7const tts = await fetch('https://modelslab.com/api/v6/voice/text_to_audio', {
8  method: 'POST',
9  headers: { 'Content-Type': 'application/json' },
10  body: JSON.stringify({
11    key: 'YOUR_MODELSLAB_API_KEY',
12    prompt: 'Bienvenidos a la demostración de hoy.',
13    voice_id: 'your-voice-id',
14    language: 'spanish',
15  }),
16});
17const audioUrl = (await tts.json()).output[0];
18

19// 2. Sync it onto the presenter clip
20const sync = await fetch(
21  'https://modelslab.com/api/v7/video-fusion/lip-sync',
22  {
23    method: 'POST',
24    headers,
25    body: JSON.stringify({
26      model_id: 'lipsync-2',
27      init_video: 'https://example.com/presenter.mp4',
28      init_audio: audioUrl,
29    }),
30  },
31);
32

33console.log(await sync.json());</code>
```

### cURL — poll for the finished video

bash

```
<code>1curl -X POST 'https://modelslab.com/api/v7/video-fusion/fetch/REQUEST_ID' \
2  -H 'Authorization: Bearer YOUR_MODELSLAB_API_KEY' \
3  -H 'Content-Type: application/json'
4

5# {"status":"success","output":["https://cdn.modelslab.com/.../synced.mp4"]}</code>
```

Request and Response
---

The full contract of the lip sync endpoint.

| Field | Type | Meaning |
|---|---|---|
| init\_video | URL (required) | Source clip of the speaker |
| init\_audio | URL (required) | Speech track to sync to |
| model\_id | string (required) | lipsync-2 |
| webhook | URL (optional) | Where to POST the finished video |
| track\_id | string (optional) | Your own reference id, echoed back |
| output | array (response) | Hosted MP4 URL when complete |

Long renders return an id; POST /api/v7/video-fusion/fetch/{id} until output is populated, or supply a webhook.

Dub a Clip in 3 Steps
---

Speech first, then sync.

STEP 01

STEP 01

### Step 1: Get Your API Key

Create a ModelsLab account, subscribe to a video plan from $21/month, add wallet balance for the lipsync-2 model, and copy your key.

STEP 02

STEP 02

### Step 2: Prepare the Audio

Use a recording, or generate the speech with /api/v6/voice/text\_to\_audio — optionally in a cloned voice — and keep the returned URL.

STEP 03

STEP 03

### Step 3: Sync and Fetch

POST init\_video, init\_audio and model\_id lipsync-2 to /api/v7/video-fusion/lip-sync. Poll fetch/{id} or receive the finished MP4 on your webhook.

[Get API Key ](https://modelslab.com/register)

Related video and voice guides
---

[### AI Video API

The full video endpoint set: text, image, video and audio inputs on one key.](/ai-video-api) [### Voice Cloning API

Clone a voice from a 4-second sample and generate the speech track to sync.](https://modelslab.com/voice-cloning) [### Text to Speech API

Generate the audio for the lip sync endpoint in 40+ languages.](https://modelslab.com/text-to-speech)

### Pricing

lipsync-2 is a third-party model billed per call from wallet balance, listed at $0.07 on its model page in September 2026 and scaled by the length of the clip, so a longer video costs a multiple of that. A video plan — from $21/month for 3,250 API calls — is required to call the endpoint. The speech generated for it draws on an audio plan from $12/month.

### Input Tips

A front-facing speaker with the mouth clearly visible syncs best. Keep the audio clean — the model follows what it hears, so background music in the track shows up as noise in the mouth movement. Match the audio length to the clip; the video is not extended to fit longer audio.

Why Developers Use the ModelsLab Lip Sync API
---

Key advantages that set us apart

Video URL + audio URL in, synced MP4 out

Any language — the model follows the audio

Pairs with text to speech and voice cloning on one key

Async id, fetch endpoint and webhook delivery

lipsync-2 from $0.07, scaled by clip length

Video plans from $21/month

No separate dubbing product to integrate

Our Popular Use Cases

What teams build with the lip sync API:

Video LocalisationTalking AvatarsScript Fixes Without a ReshootPersonalised Sales VideoE-learningCreator Tools

Generate the script in each language with text to speech, sync it onto the original presenter, ship one video per market.

![Video Localisation](https://imagedelivery.net/PP4qZJxMlvGLHJQBm3ErNg/0fbacb1a-6e34-4254-0a9d-5e75178cf200/768)

Lip Sync API FAQ
---


POST https://modelslab.com/api/v7/video-fusion/lip-sync with init\_video set to the URL of the source clip, init\_audio set to the URL of the speech track and model\_id set to lipsync-2. The API returns a video whose mouth movement matches the new audio.


Yes. The model matches mouth shapes to the audio you send, so it works for dubbing into another language as well as for replacing a line in the original one.


lipsync-2 is a third-party model billed per call from wallet balance, listed at $0.07 on its model page in September 2026 and scaled by the length of the clip. A video plan from $21/month is required to call the endpoint.


Yes. Generate the audio with /api/v6/voice/text\_to\_audio (including a cloned voice), then pass the returned URL as init\_audio to the lip sync endpoint. Both run on the same API key.


ModelsLab is a paid service. Video plans start at $21/month, and lipsync-2 is billed per call on top. Creating an account is free, but generating video requires an active plan.


It depends on clip length. The request returns an id; POST /api/v7/video-fusion/fetch/{id} to poll, or supply a webhook URL to have the result delivered when it is ready.

Your Data is Secure: GDPR Compliant AI Services
---

![ModelsLab GDPR Compliance Certification Badge](https://imagedelivery.net/PP4qZJxMlvGLHJQBm3ErNg/28133112-07fe-4c1c-44eb-36948d51ae00/768)

### Start Creating Amazing AI Videos in Minutes

Choose plan as per your needs, cancel anytime.

Coming Soon
---

We are making some changes to our pricing, please check back later.

Get Expert Support in Seconds

We're Here to Help.
---

Want to know more? You can email us anytime at <support@modelslab.com>

Chat with support[View Docs](https://docs.modelslab.com)


POST https://modelslab.com/api/v7/video-fusion/lip-sync with `init_video` set to the URL of the source clip, `init_audio` set to the URL of the speech track and `model_id` set to `lipsync-2`. The API returns a video whose mouth movement matches the new audio.


Yes. The model matches mouth shapes to the audio you send, so it works for dubbing into another language as well as for replacing a line in the original one.


lipsync-2 is a third-party model billed per call from wallet balance, listed at $0.07 on its model page in September 2026 and scaled by the length of the clip. A video plan from $21/month is required to call the endpoint.


Yes. Generate the audio with /api/v6/voice/text_to_audio (including a cloned voice), then pass the returned URL as `init_audio` to the lip sync endpoint. Both run on the same API key.


ModelsLab is a paid service. Video plans start at $21/month, and lipsync-2 is billed per call on top. Creating an account is free, but generating video requires an active plan.


It depends on clip length. The request returns an id; POST /api/v7/video-fusion/fetch/{id} to poll, or supply a `webhook` URL to have the result delivered when it is ready.

Explore Our Other Solutions
---

Unlock your creative potential and scale your business with ModelsLab's comprehensive suite of AI-powered solutions.

[Imagen

### AI Image Generation & Tools

Generate, edit, upscale, and transform images with state-of-the-art AI models.

Explore Imagen](https://modelslab.com/imagen) [Audio Gen

### AI Audio Generation

Text-to-speech, voice cloning, music generation, and audio processing APIs.

Explore Audio Gen](https://modelslab.com/audio-gen) [Chat

### Engage Seamlessly with LLM

Access powerful language models for chatbots, content generation, and AI assistants.

Explore Chat](https://modelslab.com/custom-llm) [3D Verse

### Create Stunning 3D Models

Transform images and text into 3D models with advanced AI-powered generation.

Explore 3D Verse](https://modelslab.com/text-to-3d)

Plugins

Explore Plugins for Pro
---

Our plugins are designed to work with the most popular content creation software.

[Explore Plugins](https://modelslab.com/pro#plugins) [Learn More](https://modelslab.com/pro)

API

Build Apps with ModelsLab

ML

 API
---

Use our API to build apps, generate AI art, create videos, and produce audio with ease.

[API Documentation](https://docs.modelslab.com) [Playground](https://modelslab.com/models)

## Frequently Asked Questions

### How does the lip sync API work?
POST https://modelslab.com/api/v7/video-fusion/lip-sync with `init_video` set to the URL of the source clip, `init_audio` set to the URL of the speech track and `model_id` set to `lipsync-2`. The API returns a video whose mouth movement matches the new audio.

### Does lip sync work in any language?
Yes. The model matches mouth shapes to the audio you send, so it works for dubbing into another language as well as for replacing a line in the original one.

### How much does the lip sync API cost?
lipsync-2 is a third-party model billed per call from wallet balance, listed at $0.07 on its model page in September 2026 and scaled by the length of the clip. A video plan from $21/month is required to call the endpoint.

### Can I generate the speech track on the same platform?
Yes. Generate the audio with /api/v6/voice/text_to_audio (including a cloned voice), then pass the returned URL as `init_audio` to the lip sync endpoint. Both run on the same API key.

### Is there a free lip sync API?
ModelsLab is a paid service. Video plans start at $21/month, and lipsync-2 is billed per call on top. Creating an account is free, but generating video requires an active plan.

### How long does a lip sync render take?
It depends on clip length. The request returns an id; POST /api/v7/video-fusion/fetch/{id} to poll, or supply a `webhook` URL to have the result delivered when it is ready.


---

*This markdown version is optimized for AI agents and LLMs.*

**Links:**
- [Website](https://modelslab.com)
- [API Documentation](https://docs.modelslab.com)
- [Blog](https://modelslab.com/blog)

---
*Generated by ModelsLab - 2026-09-16*