lip-sync

This documentation is valid for the following list of our models:

  • pixverse/lip-sync

This model generates videos with synchronized audio. For lip-sync input, you may either supply text with a predefined voice, or pass a URL to an external audio file containing speech.

Setup your API Key

If you don’t have an API key for the AI/ML API yet, feel free to use our Quickstart guide.

How to Make a Call

Step-by-Step Instructions

Generating a video using this model involves sequentially calling two endpoints:

  • The first one is for creating and sending a video generation task to the server (returns a generation ID).

  • The second one is for requesting the generated video from the server using the generation ID received from the first endpoint.

Below, you can find both corresponding API schemas.

API Schemas

Create a video generation task and send it to the server

You can generate a video using this API. In the basic setup, you only need a reference video and a prompt. This endpoint creates and sends a video generation task to the server — and returns a generation ID.

post
Body
modelstring · enumRequiredPossible values:
video_urlstring · uriRequired

A HTTPS URL pointing to a video or a data URI containing a video. This video will be used as a reference during generation.

audio_urlstring · uriOptional

A direct link to an online audio file or a Base64-encoded local to an audio file used for lip-syncing in the video. Use either audio_url or (lip_sync_tts_speaker together with lip_sync_tts_content), but not both.

lip_sync_tts_contentstringOptional

The text content to be lip-synced in the video. Use either audio_url or (lip_sync_tts_speaker together with lip_sync_tts_content), but not both.

lip_sync_tts_speakerstring · enumOptional

A predefined system voice used for generating speech in the video. Use either audio_url or (lip_sync_tts_speaker together with lip_sync_tts_content), but not both.

Possible values:
Responses
200Success
application/json
post
/v2/video/generations
200Success

Retrieve the generated video from the server

After sending a request for video generation, this task is added to the queue. This endpoint lets you check the status of a video generation task using its id, obtained from the endpoint described above. If the video generation task status is completed, the response will include the final result — with the generated video URL and additional metadata.

get
Authorizations
AuthorizationstringRequired

Bearer key

Query parameters
generation_idstringRequiredExample: <REPLACE_WITH_YOUR_GENERATION_ID>
Responses
200Success
application/json
get
/v2/video/generations
200Success

Full Example: Generating and Retrieving the Video From the Server

The code below creates a video generation task, then automatically polls the server every 15 seconds until it finally receives the video URL.

Statuses
Status
Description

queued

Job is waiting in queue

generating

Video is being generated

completed

Generation successful, video available

error

Generation failed, check error field

Response

Processing time: ~34 sec.

Generated video (1280x720, with sound):

Last updated

Was this helpful?