- Endpoint:
POST /v3/lipsyncs - Purpose: Dub or replace audio on a video. The job runs asynchronously — poll via Get Lipsync or use a
callback_url(Webhooks). - For higher fidelity, see Precision mode. For many videos in one job, see Lipsync batches.
How Lip Sync and Video Translation Relate
Both APIs sit on top of one lip sync engine that runs in two modes — Speed and Precision — trading latency for fidelity. What differs is what each API does around that engine:- Lip Sync API — the engine on its own. You bring the video and your own audio; the engine redraws the mouth to match. No translation, no audio generation — dialogue replacement only.
- Video Translation API — translation, optionally followed by the engine. It has two output modes:
- Audio only (
translate_audio_only: true) — transcribe, translate, and generate the translated audio, then stop. No lip sync. The output is just the new audio track (or the original video with swapped audio and an untouched mouth). - Video (audio + visual) — the same translation pipeline, then runs the lip sync engine so the mouth matches the translated speech.
- Audio only (
- Lip Sync API = engine only — you bring the audio.
- Video Translation API = translation, optionally followed by the engine. Audio-only mode skips the engine entirely; video mode adds it back.
Quick Example
Request Body
Response
Get Lipsync Details
- Endpoint:
GET /v3/lipsyncs/{lipsync_id} - Purpose: Get detailed information about a lipsync including status, download URL, and metadata.
Quick Example
Path Parameters
Response
Response Fields
List Lipsyncs
- Endpoint:
GET /v3/lipsyncs - Purpose: List lipsyncs with cursor-based pagination.
Quick Example
Query Parameters
Response
Update Lipsync
- Endpoint:
PATCH /v3/lipsyncs/{lipsync_id} - Purpose: Update a lipsync’s title.
Quick Example
Request Body
Delete Lipsync
- Endpoint:
DELETE /v3/lipsyncs/{lipsync_id} - Purpose: Permanently delete a lipsync.
Quick Example
Response
CLI Usage
--request-schema to see all available request fields without needing auth:
Polling Pattern
Lipsyncs are processed asynchronously. Poll until status reaches"completed" or "failed".
Status transitions: pending → running → completed | failed
Asset Inputs
Bothvideo and audio fields accept two input formats:
By URL — any publicly accessible HTTPS link:
POST /v3/assets (see Upload Assets):

