> ## Documentation Index
> Fetch the complete documentation index at: https://www.vozo.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Create LipSync Or Talking Photos By Reusable LipSync Model

## Why use Reusable LipSync API?

The Reusable LipSync API is an optimized version of our LipSync API, designed for developers who frequently generate lip-synced videos using the same visual reference.

### What’s Different?

| Feature              | LipSync API                         | Reusable LipSync API              |
| :------------------- | :---------------------------------- | :-------------------------------- |
| Reference upload     | Required for each request           | Upload once, reuse multiple times |
| Training step        | Required                            | Not required                      |
| Input for generation | Reference + audio                   | Audio or text (reference reused)  |
| Generation speed     | Standard                            | Much faster (no retraining)       |
| Cost per request     | 5 points base + 5 points per minute | 5 points per minute               |

## Inputs and outputs

### Create a reusable model

| Field     | Values          | Requirement | Description                                                    |
| --------- | --------------- | ----------- | -------------------------------------------------------------- |
| `task_id` | LipSync task ID | Required    | ID of a previous LipSync API task created with `precision_v1`. |

Output: `model_id` for the reusable LipSync model.

### Generate with a reusable model

| Field          | Values                        | Requirement                                                   | Description                                                                                                       |
| -------------- | ----------------------------- | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `model_id`     | Reusable LipSync model ID     | Required                                                      | Identifies the reusable model to use.                                                                             |
| `audio_url`    | Publicly accessible audio URL | Conditional; one of `audio_url` or `driving_text` is required | Provides the driving audio and takes priority when both fields are provided. Supports `.wav`, `.mp3`, and `.m4a`. |
| `driving_text` | String                        | Conditional; one of `audio_url` or `driving_text` is required | Synthesizes the driving speech with the voice cloned from the original reference.                                 |
| `callback_url` | URL                           | Optional                                                      | Receives a webhook whenever the job status changes.                                                               |

Output: lip-synced video URL.

## How it works

<Steps>
  <Step title="Create a reusable LipSync model">
    Create a reusable model from a compatible previous LipSync job.
  </Step>

  <Step title="Prepare the driving audio or text">
    Host your audio at a publicly accessible URL, or provide text to synthesize speech using the cloned voice.
  </Step>

  <Step title="Send a generation request">
    Provide the required inputs and any optional settings needed for the job.
  </Step>

  <Step title="Wait or query status">
    Use our webhook callback or poll the API with your job ID until processing is complete.
  </Step>

  <Step title="Download video output">
    Retrieve the finished talking photo or lip‑synced video from the provided URL.
  </Step>
</Steps>

## Usage Limitation:

* The default concurrency limit is 10 jobs. The limit is shared by all members of a team. See [Concurrency limits](/docs/api_reference/get_started#concurrency-limits) for details.
* Estimated queue time: 1–120 minutes, depending on system load.
* Processing time: \~10 minutes.

<Note>
  If a video or photo contains multiple faces, only the largest detected face will be lip‑synced.
</Note>

## Model Expiration Policy

Models created via the Model Creation API have an automatic expiration mechanism based on activity.

### Rules

1. Default Expiration Period Each reusable lipsync model remains active for 3 months from its creation date or last usage.
2. Automatic Extension Every time the reusable lipsync model is used (e.g., called in a reusable lipsync api request), its expiration date is extended by another 3 months from that point in time.
3. Expiration If a reusable lipsync model is not used for 3 consecutive months, it will automatically expire and may be deleted permanently.
4. Reactivation Expired reusable lipsync models cannot be reactivated. To continue using the same configuration, you must resubmit the lipsync job and recreate reusable lipsync model through the API.

## API Error Codes

| Code | Description                                                                          |
| ---- | ------------------------------------------------------------------------------------ |
| 5    | Invalid request parameters.                                                          |
| 7    | No permission to request.                                                            |
| 104  | Insufficient credits.                                                                |
| 814  | Your account is not a member and is not allowed to call the API.                     |
| 1000 | Internal Server Error.                                                               |
| 1301 | Callback Challenge failed.                                                           |
| 1302 | API key has been revoked.                                                            |
| 1304 | API key has reached the maximum number of concurrent requests.                       |
| 1502 | Your audio driver is either invalid or cannot be downloaded.                         |
| 1503 | Your account is not authorized to call the API.                                      |
| 1504 | Task creation is not supported in Standard mode or for tasks from previous versions. |
| 1305 | Only Studio plan is allowed.                                                         |
| 1506 | Model is expired.                                                                    |

## Job Error Codes

| Code  | Description                  |
| ----- | ---------------------------- |
| 999   | Failed to download the file. |
| 20611 | Video triggering flow limit. |
