Skip to main content
POST
/
v1
/
ai
/
lip-sync
/
latent-sync
curl --request POST \
--url https://api.freepik.com/v1/ai/lip-sync/latent-sync \
--header 'Content-Type: application/json' \
--header 'x-freepik-api-key: <api-key>' \
--data '{
"video_url": "https://example.com/input-video.mp4",
"audio_url": "https://example.com/input-audio.mp3",
"seed": 42,
"guidance_scale": 1.2,
"return_private_url": true,
"webhook_url": "https://my-webhook-url.com/endpoint"
}'
{
"data": {
"generated": [],
"task_id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"status": "CREATED"
}
}

Authorizations

x-freepik-api-key
string
header
required

Your Freepik API key. Required for authentication. Learn how to obtain an API key

Body

application/json
video_url
string
required

URL of the video to sync

Example:

"https://example.com/input-video.mp4"

audio_url
string
required

URL of the audio to sync

Example:

"https://example.com/input-audio.mp3"

seed
integer
default:0

Seed for the syncing process

Example:

42

guidance_scale
number
default:1

Guidance strength for the sync process

Example:

1

return_private_url
boolean
default:false

If true, the private URL (gs URI) of the generated video will be returned

Example:

false

webhook_url
string<uri>

Optional callback URL that will receive asynchronous notifications whenever the task changes status. The payload sent to this URL is the same as the corresponding GET endpoint response, but without the data field.

Example:

"https://www.example.com/webhook"

Response

OK - The task exists and the status is returned

data
object
required
Example:
{
"generated": [
"https://openapi-generator.tech",
"https://openapi-generator.tech"
],
"task_id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"status": "CREATED"
}
I