POST
/
api
/
lipsyncs
/
multi_avatar
curl --request POST \
  --url https://api.creatify.ai/api/lipsyncs/multi_avatar/ \
  --header 'Content-Type: application/json' \
  --header 'X-API-ID: <api-key>' \
  --header 'X-API-KEY: <api-key>' \
  --data '{
  "video_inputs": [
    {
      "character": {
        "type": "avatar",
        "avatar_id": "<string>",
        "scale": 1,
        "avatar_style": "circle",
        "offset": {
          "x": 0,
          "y": 0
        },
        "hidden": false
      },
      "voice": {
        "type": "text",
        "input_text": "<string>",
        "voice_id": "<string>",
        "volume": 0.8
      },
      "caption_setting": {
        "style": "normal-black",
        "offset": {
          "x": 0,
          "y": 0.4
        },
        "font_family": "Montserrat",
        "font_size": 70,
        "font_style": "font-bold",
        "background_color": "<string>",
        "text_color": "<string>",
        "highlight_text_color": "<string>",
        "max_width": 123,
        "line_height": 123,
        "text_shadow": "<string>",
        "hidden": false
      },
      "background": {
        "type": "image",
        "url": "<string>",
        "fit": "cover",
        "effect": "imageSlideLeft"
      },
      "transition_effect": {
        "transition_in": "fade",
        "transition_out": "fade"
      },
      "visual_style": "FullAvatar",
      "cta": {
        "cta_logo": {
          "url": "<string>",
          "scale": 0.25,
          "offset": {
            "x": 123,
            "y": 123
          }
        },
        "cta_caption": {
          "caption": "<string>",
          "caption_setting": {
            "style": "normal-black",
            "offset": {
              "x": 123,
              "y": 123
            },
            "font_family": "Montserrat",
            "font_size": 123,
            "font_style": "font-bold",
            "background_color": "<string>",
            "text_color": "<string>",
            "highlight_text_color": "<string>",
            "max_width": 123,
            "line_height": 123,
            "text_shadow": "<string>",
            "hidden": true
          }
        },
        "cta_background_blur": false,
        "transition_effect": {
          "transition_in": "fade",
          "transition_out": "fade"
        }
      }
    }
  ],
  "aspect_ratio": "9x16",
  "background_music": {
    "url": "<string>",
    "volume": 0.2
  },
  "cta_end": {
    "cta_logo": {
      "url": "<string>",
      "scale": 0.5,
      "offset": {
        "x": 123,
        "y": 123
      }
    },
    "cta_caption": {
      "caption": "<string>",
      "caption_setting": {
        "style": "normal-black",
        "offset": {
          "x": 123,
          "y": 123
        },
        "font_family": "Montserrat",
        "font_size": 123,
        "font_style": "font-bold",
        "background_color": "<string>",
        "text_color": "<string>",
        "highlight_text_color": "<string>",
        "max_width": 123,
        "line_height": 123,
        "text_shadow": "<string>",
        "hidden": true
      }
    },
    "cta_background_blur": false,
    "transition_effect": {
      "transition_in": "fade",
      "transition_out": "fade"
    },
    "cta_duration": 2,
    "cta_background": {
      "type": "image",
      "url": "<string>",
      "fit": "cover",
      "effect": "imageSlideLeft"
    }
  },
  "webhook_url": "<string>"
}'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "name": "<string>",
  "output": "<string>",
  "video_thumbnail": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "credits_used": 123,
  "progress": "<string>",
  "failed_reason": "<string>",
  "media_job": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "status": "<string>",
  "webhook_url": "<string>",
  "preview": "<string>"
}

About Request Data Structure of Webhook

When the ‘create a lipsync task’ interface is requested, if the ‘webhook_url’ is passed in the parameters, the program will initiate a POST request to this network address when the task succeeds or fails, with the following content:

{
    'id': 'string',
    'status': 'string',
    'failed_reason': 'string',
    'output': 'string',
}

Arguments:

  • id (string): The unique identifier of the job
  • status (string): The status of the job. Possible values are pending, in_queue, running, failed, done
  • failed_reason (string): The reason of the failure if the job failed
  • output (string): The URL of the video if the job is done

Authorizations

X-API-ID
string
header
required

API ID, from your settings page.

X-API-KEY
string
header
required

API Key, from your settings page.

Body

video_inputs
object[]
required
aspect_ratio
enum<string>
default:9x16
  • 9x16 - 9X16
  • 16x9 - 16X9
  • 1x1 - 1X1
Available options:
9x16,
16x9,
1x1
background_music
object

Background music settings.

cta_end
object

Call To Action setting to the end of video.

webhook_url
string

Response

200 - application/json
id
string
required
output
string | null
required

Output video

video_thumbnail
string
required

Generated Video Thumbnail URL

created_at
string
required
updated_at
string
required
credits_used
integer
required

Credits used in this api call

progress
string
required
failed_reason
string | null
required

The reason for failure, if the lipsync request failed

status
string
required

Status of the lipsync request

preview
string | null
required

Preview video

name
string | null

The name of the lipsync request.

Maximum length: 255
media_job
string | null

The media job associated with the lipsync request.

webhook_url
string | null

The webhook URL to be called upon completion of the lipsync request

Maximum length: 200