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

# Create lipsync video

> This endpoint creates a express lipsync video

### Body

<ResponseField name="model" type="string" required="true">
  Value options: "v1" / "v2"
</ResponseField>

<ResponseField name="actor" type="object">
  <Expandable title="Toggle actor child">
    <ResponseField name="use" type="string" required="true">
      Value: "avatar" / "video"
    </ResponseField>

    <ResponseField name="video_url" type="string">
      if use "video" then give Video URL to lipsync
    </ResponseField>

    <ResponseField name="avatar_id" type="string">
      if use "avatar" then give avatar\_id you get from endpoint /api/avatars/public or /api/avatars/custom
    </ResponseField>

    <ResponseField name="avatar_type" type="string">
      if use "avatar" then give avatar\_type: "public" / "custom"
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="script" type="object">
  <Expandable title="Toggle script child">
    <ResponseField name="use" type="string" required="true">
      Value: "audio" / "text"
    </ResponseField>

    <ResponseField name="audio_url" type="string">
      Audio URL to lipsync
    </ResponseField>

    <ResponseField name="text" type="string">
      Audio text
    </ResponseField>

    <ResponseField name="voice_id" type="string">
      Audio voice\_id you get from endpoint /api/voices/public or /api/voices/custom
    </ResponseField>

    <ResponseField name="voice_type" type="string">
      Audio voice type: "public" / "custom"
    </ResponseField>
  </Expandable>
</ResponseField>

### Response

<ResponseField name="job_id" type="string">
  Video generation job id
</ResponseField>

<ResponseField name="input" type="object">
  Your given input fields
</ResponseField>

<ResponseField name="status" type="string">
  Video generation status
</ResponseField>

<ResponseField name="output" type="string">
  Video generation output
</ResponseField>

<RequestExample>
  ```bash Bash theme={null}
  curl --location 'https://raijin.personate.ai/api/express_lipsync_video' \
  --header 'Content-Type: application/json' \
  --header 'Authorization': 'Bearer ********' \
  --data '{
    "actor": {
      "use": "avatar",
      "avatar_id": "5b05e9ad-a2e5-4583-8a0d-e44ee1492855",
      "avatar_type": "public"
    },
    "model": "v2",
    "script": {
      "use": "audio / text",
      "audio_url": "https://URL.mp3"
    }
  }'
  ```

  ```python Python theme={null}
  import requests
  import json

  url = "https://raijin.personate.ai/api/express_lipsync_video"

  payload = json.dumps({
    "actor": {
      "use": "avatar",
      "avatar_id": "5b05e9ad-a2e5-4583-8a0d-e44ee1492855",
      "avatar_type": "public"
    },
    "model": "v2",
    "script": {
      "use": "audio",
      "audio_url": "https://URL.mp3"
    }
  })
  headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer ********'
  }

  response = requests.request("POST", url, headers=headers, data=payload)

  print(response.text)
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "input": {},
    "job_id": "job_id",
    "status": "rendering",
    "output": ""
  }
  ```
</ResponseExample>
