POST
/
v2
/
lipsync
curl --request POST \
  --url https://tavusapi.com/v2/lipsync \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '{
  "original_video_url": "https://example.com/video.mp4",
  "source_audio_url": "https://example.com/audio.mp3",
  "lipsync_name": "My Lipsync Video",
  "callback_url": "https://your-callback-url.com"
}'
{
  "lipsync_id": "wf85407a7ba9d",
  "lipsync_name": "My Lipsync Video",
  "status": "started",
  "callback_url": "https://your-callback-url.com",
  "request_id": "wf85407a7ba9d",
  "request_name": "My Lipsync Video"
}

Authorizations

x-api-key
string
header
required

Body

application/json
original_video_url
string
required

A direct link to the video that will be modified. This should be a publicly accessible / presigned S3 URL.

Example:

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

source_audio_url
string
required

A direct link to the audio file that will be synchronized with the video. This should be a publicly accessible / presigned S3 URL.

Example:

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

lipsync_name
string

An optional name for the lipsync video.

Example:

"My Lipsync Video"

callback_url
string

A url that will receive a callback on completion of the lipsync or on error.

Example:

"https://your-callback-url.com"

Response

200 - application/json
lipsync_id
string

A unique identifier for the lipsync request.

Example:

"wf85407a7ba9d"

lipsync_name
string | null

The name of the lipsync request.

Example:

"My Lipsync Video"

status
string

The status of the lipsync request.

Example:

"started"

callback_url
string

The callback URL that will receive notifications about the lipsync request.

Example:

"https://your-callback-url.com"

request_id
string

Legacy field - will be removed soon. Use lipsync_id instead.

Example:

"wf85407a7ba9d"

request_name
string

Legacy field - will be removed soon. Use lipsync_name instead.

Example:

"My Lipsync Video"