Lipsync 2.0

Submit a Lipsync 2.0 job

Start an asynchronous job that re-renders a source video with the speaker's mouth matched to a new audio track — for dubbing, voice replacement, or a cleaner take.

Inputs

  • video_url — public URL of the source video
  • audio_url — public URL of the new audio track to lip-sync the video to

What happens next

The job is accepted immediately — you get 202 Accepted with a job_id and status PROCESSING. Rendering runs in the background; poll GET /v1/lipsync-2.0/{job_id} until the job is COMPLETED or FAILED.

post/v1/lipsync-2.0

Headers

X-Veed-Store-IO'0' | '1'

Set to 0 to not store this request's and response's bodies. They will then not be available in your request logs for debugging. Defaults to 1 (stored).

X-Veed-Media-Expiration-Secondsinteger

Number of seconds before signed media URLs returned for this request expire. Defaults to 86400 (1 day).

Request body

$schemastring uri

A URL to the JSON Schema for this object.

audio_urlstring uri required

URL of the new audio track to lip-sync the video to.

video_urlstring uri required

URL of the source video to dub.

Example request

{
  "$schema": "https://api.veed.io/schemas/Lipsync20Input.json",
  "audio_url": "https://media.veed.io/in.mp3",
  "video_url": "https://media.veed.io/in.mp4"
}

Response

Accepted

$schemastring uri

A URL to the JSON Schema for this object.

Example response

{
  "$schema": "https://api.veed.io/schemas/ResourceLipsync20Job.json",
  "data": {
    "result": {
      "video": {
        "content_type": "video/mp4"
      }
    }
  }
}

Changes

No recorded changes to this endpoint across all 1 revision of this API.