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

# Create an AI Avatar v2 task

> API that converts a list of texts, voices and avatars to vivid videos of many people speaking. Creating a video through this endpoint costs 5 credits for every 30 seconds.

### About Request Data Structure of Webhook

When the 'create an AI Avatar 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:

```json theme={null}
{
    '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


## OpenAPI

````yaml post /api/lipsyncs_v2/
openapi: 3.0.3
info:
  title: creatify.ai API
  version: 1.0.0
  description: API for creatify.ai
servers: []
security: []
paths:
  /api/lipsyncs_v2/:
    post:
      tags:
        - lipsyncs_v2
      description: This endpoint generates a lipsync v2 video.
      operationId: lipsyncs_v2_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoInputs'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/VideoInputs'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/VideoInputs'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MultiAvatarLipsyncOutput'
          description: ''
      security:
        - X-API-ID: []
          X-API-KEY: []
components:
  schemas:
    VideoInputs:
      type: object
      properties:
        video_inputs:
          type: array
          items:
            $ref: '#/components/schemas/VideoInput'
        aspect_ratio:
          allOf:
            - $ref: '#/components/schemas/AspectRatio338Enum'
          default: 9x16
        background_music:
          allOf:
            - $ref: '#/components/schemas/BackgroundMusic'
          description: Background music settings.
        cta_end:
          allOf:
            - $ref: '#/components/schemas/CTAEndInput'
          description: Call To Action setting to the end of video.
        webhook_url:
          type: string
          format: uri
        name:
          type: string
          description: The name of the lipsync request.
          maxLength: 255
        model_version:
          allOf:
            - $ref: '#/components/schemas/ModelVersion699Enum'
          default: standard
          description: >-
            Model version for the avatar, 'standard', 'aurora_v1' or
            'aurora_v1_fast'. Default is 'standard'. Standard model costs 5
            credits per 30 seconds video, Aurora_v1 model costs 1 credit per
            second, and Aurora_v1_fast renders faster with lower quality for 0.5
            credits per second.


            * `standard` - Standard

            * `aurora_v1` - Aurora v1

            * `aurora_v1_fast` - Aurora v1 Fast
      required:
        - video_inputs
    MultiAvatarLipsyncOutput:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          nullable: true
          description: The name of the lipsync request.
          maxLength: 255
        output:
          type: string
          nullable: true
          readOnly: true
          description: Output video
        video_thumbnail:
          type: string
          format: uri
          readOnly: true
          description: Generated Video Thumbnail URL
        created_at:
          type: string
          format: date-time
          readOnly: true
          title: Created date
        updated_at:
          type: string
          format: date-time
          readOnly: true
          title: Updated date
        credits_used:
          type: number
          description: Credits used in this API call
          readOnly: true
        duration:
          type: integer
          readOnly: true
          description: Duration of the video in seconds
        progress:
          type: string
          readOnly: true
        failed_reason:
          type: string
          readOnly: true
          nullable: true
          description: The reason for failure, if the lipsync request failed
        media_job:
          type: string
          format: uuid
          nullable: true
          description: The media job associated with the lipsync request.
        status:
          type: string
          readOnly: true
          description: Status of the lipsync request
        webhook_url:
          type: string
          format: uri
          nullable: true
          description: The webhook URL to be called upon completion of the lipsync request
          maxLength: 200
        preview:
          type: string
          nullable: true
          readOnly: true
          description: Preview video
        editor_url:
          type: string
          nullable: true
          readOnly: true
          description: >-
            Editor URL for the video. Expires in 24 hours. Available only if
            your API account has API editor access enabled. 
        aspect_ratio:
          allOf:
            - $ref: '#/components/schemas/AspectRatioBc4Enum'
          description: |-
            The aspect ratio of the video

            * `16x9` - Ratio 16 9
            * `1x1` - Ratio 1 1
            * `9x16` - Ratio 9 16
        model_version:
          allOf:
            - $ref: '#/components/schemas/ModelVersion699Enum'
          description: >-
            Model version for the avatar, 'standard', 'aurora_v1' or
            'aurora_v1_fast'. Default is 'standard'. Standard model costs 5
            credits per 30 seconds video, Aurora_v1 model costs 1 credit per
            second, and Aurora_v1_fast renders faster with lower quality for 0.5
            credits per second.


            * `standard` - Standard

            * `aurora_v1` - Aurora v1

            * `aurora_v1_fast` - Aurora v1 Fast
        video_inputs:
          type: array
          items: {}
          readOnly: true
      required:
        - aspect_ratio
        - created_at
        - credits_used
        - duration
        - editor_url
        - failed_reason
        - id
        - output
        - preview
        - progress
        - status
        - updated_at
        - video_inputs
        - video_thumbnail
    VideoInput:
      type: object
      properties:
        character:
          $ref: '#/components/schemas/Character'
        voice:
          $ref: '#/components/schemas/Voice'
        caption_setting:
          allOf:
            - $ref: '#/components/schemas/Caption'
          default:
            style: normal-black
            offset:
              x: 0
              'y': 0.4
            font_family: Montserrat
            font_size: 70
            font_style: null
            background_color: null
            text_color: null
            highlight_text_color: null
            max_width: null
            line_height: null
            text_shadow: null
            hidden: false
            override_visual_style: false
        background:
          $ref: '#/components/schemas/Background'
        transition_effect:
          allOf:
            - $ref: '#/components/schemas/Transition'
          default:
            transition_in: null
            transition_out: null
          description: Transition effect between video inputs.
        visual_style:
          nullable: true
          description: >-
            Defines the visual style for this section of the video. If set, it
            will override character, background, and caption position and style
            settings. Default is null, existing settings will be used.


            * `FullAvatar` - FullAvatar (Applicable to aspect_ratio 9x16, 16x9,
            1x1)
            ![FullAvatar](https://dpbavq092lwjh.cloudfront.net/visual_styles/FullAvatar.png)

            * `GreenScreenEffect` - GreenScreenEffect (Applicable to
            aspect_ratio 1x1, 16x9, 9x16)
            ![GreenScreenEffect](https://dpbavq092lwjh.cloudfront.net/visual_styles/GreenScreenEffect.png)

            * `FullAvatarScreenProductOverlay` - FullAvatarScreenProductOverlay
            (Applicable to aspect_ratio 1x1, 16x9, 9x16)
            ![FullAvatarScreenProductOverlay](https://dpbavq092lwjh.cloudfront.net/visual_styles/FullAvatarScreenProductOverlay.png)

            * `UpAndDown` - UpAndDown (Applicable to aspect_ratio 1x1, 9x16)
            ![UpAndDown](https://dpbavq092lwjh.cloudfront.net/visual_styles/UpAndDown.png)

            * `SideBySide` - SideBySide (Applicable to aspect_ratio 1x1, 16x9)
            ![SideBySide](https://dpbavq092lwjh.cloudfront.net/visual_styles/SideBySide.png)

            * `FullProduct` - FullProduct (Applicable to aspect_ratio 1x1, 16x9,
            9x16)
            ![FullProduct](https://dpbavq092lwjh.cloudfront.net/visual_styles/FullProduct.png)

            * `MagnifyingGlassCircle` - MagnifyingGlassCircle (Applicable to
            aspect_ratio 1x1, 16x9, 9x16)
            ![MagnifyingGlassCircle](https://dpbavq092lwjh.cloudfront.net/visual_styles/MagnifyingGlassCircle.png)

            * `ReverseMagnifyingGlassCircle` - ReverseMagnifyingGlassCircle
            (Applicable to aspect_ratio 1x1, 16x9, 9x16)
            ![ReverseMagnifyingGlassCircle](https://dpbavq092lwjh.cloudfront.net/visual_styles/ReverseMagnifyingGlassCircle.png)

            * `TwitterFrame` - TwitterFrame (Applicable to aspect_ratio 1x1,
            16x9, 9x16)
            ![TwitterFrame](https://dpbavq092lwjh.cloudfront.net/visual_styles/TwitterFrame.png)

            * `DramaticFullProduct` - DramaticFullProduct (Applicable to
            aspect_ratio 9x16)
            ![DramaticFullProduct](https://dpbavq092lwjh.cloudfront.net/visual_styles/DramaticFullProduct.png)

            * `Dramatic` - Dramatic (Applicable to aspect_ratio 9x16)
            ![Dramatic](https://dpbavq092lwjh.cloudfront.net/visual_styles/Dramatic.png)

            * `Vanilla` - Vanilla (Applicable to aspect_ratio 1x1, 16x9, 9x16)
            ![Vanilla](https://dpbavq092lwjh.cloudfront.net/visual_styles/Vanilla.png)

            * `Vlog` - Vlog (Applicable to aspect_ratio 9x16)
            ![Vlog](https://dpbavq092lwjh.cloudfront.net/visual_styles/Vlog.png)
          oneOf:
            - $ref: '#/components/schemas/VideoInputVisualStyleEnum'
            - $ref: '#/components/schemas/NullEnum'
        cta:
          allOf:
            - $ref: '#/components/schemas/CTAInput'
          description: Call To Action setting.
      required:
        - background
        - character
        - voice
    AspectRatio338Enum:
      enum:
        - 9x16
        - 16x9
        - 1x1
      type: string
      description: |-
        * `9x16` -  9X16
        * `16x9` -  16X9
        * `1x1` -  1X1
    BackgroundMusic:
      type: object
      properties:
        url:
          type: string
          format: uri
          description: URL for the background music.
        volume:
          type: number
          format: double
          maximum: 1
          minimum: 0
          default: 0.2
          description: Volume of the background music, ranging from 0.0 to 1.0.
    CTAEndInput:
      type: object
      properties:
        cta_logo:
          allOf:
            - $ref: '#/components/schemas/CTALogo'
          description: CTA logo.
        cta_caption:
          allOf:
            - $ref: '#/components/schemas/CTACaption'
          description: CTA caption.
        cta_background_blur:
          type: boolean
          default: false
          description: Blur the background of the CTA.
        transition_effect:
          allOf:
            - $ref: '#/components/schemas/Transition'
          default:
            transition_in: null
            transition_out: null
          description: Transition effect between video inputs.
        cta_duration:
          type: integer
          default: 2
          description: Duration of the CTA in seconds.
        cta_background:
          allOf:
            - $ref: '#/components/schemas/Background'
          description: CTA background.
      required:
        - cta_background
    ModelVersion699Enum:
      enum:
        - standard
        - aurora_v1
        - aurora_v1_fast
      type: string
      description: |-
        * `standard` - Standard
        * `aurora_v1` - Aurora v1
        * `aurora_v1_fast` - Aurora v1 Fast
    AspectRatioBc4Enum:
      enum:
        - 16x9
        - 1x1
        - 9x16
      type: string
      description: |-
        * `16x9` - Ratio 16 9
        * `1x1` - Ratio 1 1
        * `9x16` - Ratio 9 16
    Character:
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/CharacterTypeEnum'
          description: |-
            Type of character, only 'avatar' is supported.

            * `avatar` - avatar
        avatar_id:
          type: string
          description: Avatar ID, a unique identifier for the avatar.
          maxLength: 50
        scale:
          type: number
          format: double
          maximum: 2
          minimum: 0
          default: 1
          description: Scale of the avatar, ranging from 0.0 to 2.0.
        avatar_style:
          allOf:
            - $ref: '#/components/schemas/AvatarStyleEnum'
          default: normal
          description: |-
            Style of the avatar, default is normal

            * `circle` - circle
            * `normal` - normal
        offset:
          allOf:
            - $ref: '#/components/schemas/Offset'
          description: Avatar offset, used to adjust the position of the avatar.
        hidden:
          type: boolean
          default: false
          description: >-
            Hide avatar, default false, if set to True the avatar will be
            hidden.
      required:
        - avatar_id
        - offset
        - type
    Voice:
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/VoiceTypeEnum'
          description: >-
            Type of input. 'text' for voice synthesis or 'silence' for silent
            duration.


            * `text` - text

            * `silence` - silence
        input_text:
          type: string
          nullable: true
          description: >-
            Input text for the voice synthesis, up to 2000 characters. Required
            when type='text'.
          maxLength: 2000
        voice_id:
          type: string
          nullable: true
          description: >-
            Voice ID, if not provided, the default voice will be used. Only
            applies to type='text'.
          maxLength: 50
        duration:
          type: number
          format: double
          maximum: 100
          minimum: 1
          nullable: true
          description: >-
            Duration of silence in seconds, value ranges from 1.0 to 100.0.
            Required when type='silence'. If background is video and duration is
            not provided, video duration will be used.
        volume:
          type: number
          format: double
          maximum: 1
          minimum: 0
          default: 0.8
          description: >-
            Volume of the voiceover, ranging from 0.0 to 1.0. Only applies to
            type='text'.
        model:
          nullable: true
          description: >-
            Override the TTS model for this voice. Default (null) uses the model
            resolved from the voice record. Use 'v3' to enable inline emotion /
            delivery tags such as [lighthearted], [emphasized], [slows down].
            Only applies to type='text'.


            * `v2` - V2

            * `v3` - V3
          oneOf:
            - $ref: '#/components/schemas/VoiceModelEnum'
            - $ref: '#/components/schemas/NullEnum'
      required:
        - type
    Caption:
      type: object
      properties:
        style:
          allOf:
            - $ref: '#/components/schemas/Style0e1Enum'
          default: normal-black
          description: |-
            Caption style

            * `normal-black` - NORMAL_BLACK
            * `normal-white` - NORMAL_WHITE
            * `normal-red` - NORMAL_RED
            * `normal-blue` - NORMAL_BLUE
            * `neo` - NEO
            * `brick` - BRICK
            * `frenzy` - FRENZY
            * `verana` - VERANA
            * `mustard` - MUSTARD
            * `glow` - GLOW
            * `mint` - MINT
            * `coolers` - COOLERS
            * `bilo` - BILO
            * `toons` - TOONS
            * `deep-blue` - DEEP_BLUE
            * `mystique` - MYSTIQUE
            * `caution` - CAUTION
            * `duality` - DUALITY
            * `comic-shadow` - COMIC_SHADOW
            * `clean-bold` - CLEAN_BOLD
            * `soft-pill` - SOFT_PILL
            * `underline-bold` - UNDERLINE_BOLD
            * `classic-duo` - CLASSIC_DUO
            * `hand-script` - HAND_SCRIPT
            * `button-glow` - BUTTON_GLOW
            * `emboss-outline` - EMBOSS_OUTLINE
            * `standard-bold` - STANDARD_BOLD
            * `outlined-text` - OUTLINED_TEXT
            * `quiet-serif` - QUIET_SERIF
            * `editorial-clean` - EDITORIAL_CLEAN
            * `shout-block` - SHOUT_BLOCK
            * `word-flash` - WORD_FLASH
            * `promo-punch` - PROMO_PUNCH
            * `light-word` - LIGHT_WORD
            * `tagline-bold` - TAGLINE_BOLD
            * `glow-speak` - GLOW_SPEAK
            * `black-block` - BLACK_BLOCK
            * `zoom-punch` - ZOOM_PUNCH
        offset:
          allOf:
            - $ref: '#/components/schemas/CaptionOffset'
          default:
            x: 0
            'y': 0.4
          description: Caption offset
        font_family:
          allOf:
            - $ref: '#/components/schemas/FontFamilyEnum'
          default: Montserrat
          description: |-
            Font family

            * `Montserrat` - Montserrat
            * `Jockey One` - JockeyOne
            * `Lilita One` - LilitaOne
            * `Mclaren` - Mclaren
            * `Corben` - Corben
            * `Dela Gothic One` - DelaGothicOne
            * `Comfortaa` - Comfortaa
            * `Luckiest Guy` - LuckiestGuy
            * `Quantico` - Quantico
            * `Poppins` - Poppins
        font_size:
          type: integer
          default: 70
          description: Font size
        font_style:
          nullable: true
          description: |-
            Font style

            * `font-bold` - BOLD
            * `italic` - ITALIC
            * `underline` - UNDERLINE
          oneOf:
            - $ref: '#/components/schemas/FontStyleEnum'
            - $ref: '#/components/schemas/NullEnum'
        background_color:
          type: string
          nullable: true
          description: >-
            Caption background color, hex color with an alpha channel:
            #RRGGBBAA.
        text_color:
          type: string
          nullable: true
          description: 'Caption text color, hex color with an alpha channel: #RRGGBBAA.'
        highlight_text_color:
          type: string
          nullable: true
          description: >-
            Caption highlight color for the word currently being spoken, hex
            color with an alpha channel: #RRGGBBAA.
        max_width:
          type: integer
          nullable: true
          description: Caption max width in px
        line_height:
          type: number
          format: double
          nullable: true
          description: Caption line height
        text_shadow:
          type: string
          nullable: true
          description: Caption text shadow
        hidden:
          type: boolean
          default: false
          description: Hide caption
        override_visual_style:
          type: boolean
          default: false
          description: >-
            If true, these caption settings will override the visual style's
            default caption settings. Only effective when visual_style is set.
    Background:
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/BackgroundTypeEnum'
          description: |-
            Type of background, can be 'image' or 'video'.

            * `image` - image
            * `video` - video
        url:
          type: string
          format: uri
          description: Background URL.
        fit:
          allOf:
            - $ref: '#/components/schemas/FitEnum'
          default: crop
          description: >-
            Background fit to the screen.


            * `cover` - deprecated, use 'crop' instead

            * `crop` - The entire object is cropped to fill the box. The
            left/right or top/bottom of the object will be cropped.

            * `contain` - The entire object is scaled to fill the box, while
            preserving its aspect ratio. And the left/right or top/bottom of the
            box will be filled with blurred background.
        effect:
          nullable: true
          description: |-
            Effect applied to the background image. Can be null for no effect.

            * `imageSlideLeft` - imageSlideLeft
            * `imageZoomIn` - imageZoomIn
            * `imageZoomOut` - imageZoomOut
            * `imageWobbling` - imageWobbling
            * `imageThrob` - imageThrob
          oneOf:
            - $ref: '#/components/schemas/EffectEnum'
            - $ref: '#/components/schemas/NullEnum'
      required:
        - type
        - url
    Transition:
      type: object
      properties:
        transition_in:
          nullable: true
          description: >-
            Transition effect for entering the video input. Can be null for no
            transition.


            * `fade` - fade

            * `leftSwipe` - leftSwipe

            * `rightSwipe` - rightSwipe

            * `topSwipe` - topSwipe

            * `bottomSwipe` - bottomSwipe
          oneOf:
            - $ref: '#/components/schemas/TransitionInEnum'
            - $ref: '#/components/schemas/NullEnum'
        transition_out:
          nullable: true
          description: >-
            Transition effect for exiting the video input. Can be null for no
            transition.


            * `fade` - fade

            * `leftSwipe` - leftSwipe

            * `rightSwipe` - rightSwipe

            * `topSwipe` - topSwipe

            * `bottomSwipe` - bottomSwipe
          oneOf:
            - $ref: '#/components/schemas/TransitionOutEnum'
            - $ref: '#/components/schemas/NullEnum'
    VideoInputVisualStyleEnum:
      enum:
        - FullAvatar
        - GreenScreenEffect
        - FullAvatarScreenProductOverlay
        - UpAndDown
        - SideBySide
        - FullProduct
        - MagnifyingGlassCircle
        - ReverseMagnifyingGlassCircle
        - TwitterFrame
        - DramaticFullProduct
        - Dramatic
        - Vanilla
        - Vlog
      type: string
      description: >-
        * `FullAvatar` - FullAvatar (Applicable to aspect_ratio 9x16, 16x9, 1x1)
        ![FullAvatar](https://dpbavq092lwjh.cloudfront.net/visual_styles/FullAvatar.png)

        * `GreenScreenEffect` - GreenScreenEffect (Applicable to aspect_ratio
        1x1, 16x9, 9x16)
        ![GreenScreenEffect](https://dpbavq092lwjh.cloudfront.net/visual_styles/GreenScreenEffect.png)

        * `FullAvatarScreenProductOverlay` - FullAvatarScreenProductOverlay
        (Applicable to aspect_ratio 1x1, 16x9, 9x16)
        ![FullAvatarScreenProductOverlay](https://dpbavq092lwjh.cloudfront.net/visual_styles/FullAvatarScreenProductOverlay.png)

        * `UpAndDown` - UpAndDown (Applicable to aspect_ratio 1x1, 9x16)
        ![UpAndDown](https://dpbavq092lwjh.cloudfront.net/visual_styles/UpAndDown.png)

        * `SideBySide` - SideBySide (Applicable to aspect_ratio 1x1, 16x9)
        ![SideBySide](https://dpbavq092lwjh.cloudfront.net/visual_styles/SideBySide.png)

        * `FullProduct` - FullProduct (Applicable to aspect_ratio 1x1, 16x9,
        9x16)
        ![FullProduct](https://dpbavq092lwjh.cloudfront.net/visual_styles/FullProduct.png)

        * `MagnifyingGlassCircle` - MagnifyingGlassCircle (Applicable to
        aspect_ratio 1x1, 16x9, 9x16)
        ![MagnifyingGlassCircle](https://dpbavq092lwjh.cloudfront.net/visual_styles/MagnifyingGlassCircle.png)

        * `ReverseMagnifyingGlassCircle` - ReverseMagnifyingGlassCircle
        (Applicable to aspect_ratio 1x1, 16x9, 9x16)
        ![ReverseMagnifyingGlassCircle](https://dpbavq092lwjh.cloudfront.net/visual_styles/ReverseMagnifyingGlassCircle.png)

        * `TwitterFrame` - TwitterFrame (Applicable to aspect_ratio 1x1, 16x9,
        9x16)
        ![TwitterFrame](https://dpbavq092lwjh.cloudfront.net/visual_styles/TwitterFrame.png)

        * `DramaticFullProduct` - DramaticFullProduct (Applicable to
        aspect_ratio 9x16)
        ![DramaticFullProduct](https://dpbavq092lwjh.cloudfront.net/visual_styles/DramaticFullProduct.png)

        * `Dramatic` - Dramatic (Applicable to aspect_ratio 9x16)
        ![Dramatic](https://dpbavq092lwjh.cloudfront.net/visual_styles/Dramatic.png)

        * `Vanilla` - Vanilla (Applicable to aspect_ratio 1x1, 16x9, 9x16)
        ![Vanilla](https://dpbavq092lwjh.cloudfront.net/visual_styles/Vanilla.png)

        * `Vlog` - Vlog (Applicable to aspect_ratio 9x16)
        ![Vlog](https://dpbavq092lwjh.cloudfront.net/visual_styles/Vlog.png)
    NullEnum:
      enum:
        - null
    CTAInput:
      type: object
      properties:
        cta_logo:
          allOf:
            - $ref: '#/components/schemas/CTALogo'
          description: CTA logo.
        cta_caption:
          allOf:
            - $ref: '#/components/schemas/CTACaption'
          description: CTA caption.
        cta_background_blur:
          type: boolean
          default: false
          description: Blur the background of the CTA.
        transition_effect:
          allOf:
            - $ref: '#/components/schemas/Transition'
          default:
            transition_in: null
            transition_out: null
          description: Transition effect between video inputs.
    CTALogo:
      type: object
      properties:
        url:
          type: string
          format: uri
          description: URL for the logo.
        scale:
          type: number
          format: double
          maximum: 1
          minimum: 0
          default: 0.25
          description: >-
            Scale of the logo, ranging from 0.0 to 2.0. Set to 0.0 for automatic
            scaling based on optimal size.
        offset:
          allOf:
            - $ref: '#/components/schemas/CTALogoOffset'
          description: Offset of the CTA logo, used to adjust the position of the logo.
      required:
        - offset
        - url
    CTACaption:
      type: object
      properties:
        caption:
          type: string
          description: Caption for the CTA.
          maxLength: 200
        caption_setting:
          allOf:
            - $ref: '#/components/schemas/CTACaptionSetting'
          default:
            style: normal-white
            offset:
              x: 0
              'y': 0
            font_family: Montserrat
            font_size: 80
            font_style: null
            background_color: '#00000066'
            text_color: null
            highlight_text_color: null
            max_width: null
            line_height: 1.9
            text_shadow: null
            hidden: false
            override_visual_style: false
      required:
        - caption
    CharacterTypeEnum:
      enum:
        - avatar
      type: string
      description: '* `avatar` - avatar'
    AvatarStyleEnum:
      enum:
        - circle
        - normal
      type: string
      description: |-
        * `circle` - circle
        * `normal` - normal
    Offset:
      type: object
      properties:
        x:
          type: number
          format: double
          default: 0
          description: X offset for the avatar.
        'y':
          type: number
          format: double
          default: 0
          description: Y offset for the avatar.
    VoiceTypeEnum:
      enum:
        - text
        - silence
      type: string
      description: |-
        * `text` - text
        * `silence` - silence
    VoiceModelEnum:
      enum:
        - v2
        - v3
      type: string
      description: |-
        * `v2` - V2
        * `v3` - V3
    Style0e1Enum:
      enum:
        - normal-black
        - normal-white
        - normal-red
        - normal-blue
        - neo
        - brick
        - frenzy
        - verana
        - mustard
        - glow
        - mint
        - coolers
        - bilo
        - toons
        - deep-blue
        - mystique
        - caution
        - duality
        - comic-shadow
        - clean-bold
        - soft-pill
        - underline-bold
        - classic-duo
        - hand-script
        - button-glow
        - emboss-outline
        - standard-bold
        - outlined-text
        - quiet-serif
        - editorial-clean
        - shout-block
        - word-flash
        - promo-punch
        - light-word
        - tagline-bold
        - glow-speak
        - black-block
        - zoom-punch
      type: string
      description: |-
        * `normal-black` - NORMAL_BLACK
        * `normal-white` - NORMAL_WHITE
        * `normal-red` - NORMAL_RED
        * `normal-blue` - NORMAL_BLUE
        * `neo` - NEO
        * `brick` - BRICK
        * `frenzy` - FRENZY
        * `verana` - VERANA
        * `mustard` - MUSTARD
        * `glow` - GLOW
        * `mint` - MINT
        * `coolers` - COOLERS
        * `bilo` - BILO
        * `toons` - TOONS
        * `deep-blue` - DEEP_BLUE
        * `mystique` - MYSTIQUE
        * `caution` - CAUTION
        * `duality` - DUALITY
        * `comic-shadow` - COMIC_SHADOW
        * `clean-bold` - CLEAN_BOLD
        * `soft-pill` - SOFT_PILL
        * `underline-bold` - UNDERLINE_BOLD
        * `classic-duo` - CLASSIC_DUO
        * `hand-script` - HAND_SCRIPT
        * `button-glow` - BUTTON_GLOW
        * `emboss-outline` - EMBOSS_OUTLINE
        * `standard-bold` - STANDARD_BOLD
        * `outlined-text` - OUTLINED_TEXT
        * `quiet-serif` - QUIET_SERIF
        * `editorial-clean` - EDITORIAL_CLEAN
        * `shout-block` - SHOUT_BLOCK
        * `word-flash` - WORD_FLASH
        * `promo-punch` - PROMO_PUNCH
        * `light-word` - LIGHT_WORD
        * `tagline-bold` - TAGLINE_BOLD
        * `glow-speak` - GLOW_SPEAK
        * `black-block` - BLACK_BLOCK
        * `zoom-punch` - ZOOM_PUNCH
    CaptionOffset:
      type: object
      properties:
        x:
          type: number
          format: double
          default: 0
          description: X offset for the caption.
        'y':
          type: number
          format: double
          default: 0.4
          description: Y offset for the caption.
    FontFamilyEnum:
      enum:
        - Montserrat
        - Jockey One
        - Lilita One
        - Mclaren
        - Corben
        - Dela Gothic One
        - Comfortaa
        - Luckiest Guy
        - Quantico
        - Poppins
      type: string
      description: |-
        * `Montserrat` - Montserrat
        * `Jockey One` - JockeyOne
        * `Lilita One` - LilitaOne
        * `Mclaren` - Mclaren
        * `Corben` - Corben
        * `Dela Gothic One` - DelaGothicOne
        * `Comfortaa` - Comfortaa
        * `Luckiest Guy` - LuckiestGuy
        * `Quantico` - Quantico
        * `Poppins` - Poppins
    FontStyleEnum:
      enum:
        - font-bold
        - italic
        - underline
      type: string
      description: |-
        * `font-bold` - BOLD
        * `italic` - ITALIC
        * `underline` - UNDERLINE
    BackgroundTypeEnum:
      enum:
        - image
        - video
      type: string
      description: |-
        * `image` - image
        * `video` - video
    FitEnum:
      enum:
        - cover
        - crop
        - contain
      type: string
      description: >-
        * `cover` - deprecated, use 'crop' instead

        * `crop` - The entire object is cropped to fill the box. The left/right
        or top/bottom of the object will be cropped.

        * `contain` - The entire object is scaled to fill the box, while
        preserving its aspect ratio. And the left/right or top/bottom of the box
        will be filled with blurred background.
    EffectEnum:
      enum:
        - imageSlideLeft
        - imageZoomIn
        - imageZoomOut
        - imageWobbling
        - imageThrob
      type: string
      description: |-
        * `imageSlideLeft` - imageSlideLeft
        * `imageZoomIn` - imageZoomIn
        * `imageZoomOut` - imageZoomOut
        * `imageWobbling` - imageWobbling
        * `imageThrob` - imageThrob
    TransitionInEnum:
      enum:
        - fade
        - leftSwipe
        - rightSwipe
        - topSwipe
        - bottomSwipe
      type: string
      description: |-
        * `fade` - fade
        * `leftSwipe` - leftSwipe
        * `rightSwipe` - rightSwipe
        * `topSwipe` - topSwipe
        * `bottomSwipe` - bottomSwipe
    TransitionOutEnum:
      enum:
        - fade
        - leftSwipe
        - rightSwipe
        - topSwipe
        - bottomSwipe
      type: string
      description: |-
        * `fade` - fade
        * `leftSwipe` - leftSwipe
        * `rightSwipe` - rightSwipe
        * `topSwipe` - topSwipe
        * `bottomSwipe` - bottomSwipe
    CTALogoOffset:
      type: object
      properties:
        x:
          type: number
          format: double
          default: 0
          description: X offset for the logo.
        'y':
          type: number
          format: double
          default: -0.3
          description: Y offset for the logo.
    CTACaptionSetting:
      type: object
      properties:
        style:
          allOf:
            - $ref: '#/components/schemas/Style0e1Enum'
          default: normal-white
          description: |-
            Caption style

            * `normal-black` - NORMAL_BLACK
            * `normal-white` - NORMAL_WHITE
            * `normal-red` - NORMAL_RED
            * `normal-blue` - NORMAL_BLUE
            * `neo` - NEO
            * `brick` - BRICK
            * `frenzy` - FRENZY
            * `verana` - VERANA
            * `mustard` - MUSTARD
            * `glow` - GLOW
            * `mint` - MINT
            * `coolers` - COOLERS
            * `bilo` - BILO
            * `toons` - TOONS
            * `deep-blue` - DEEP_BLUE
            * `mystique` - MYSTIQUE
            * `caution` - CAUTION
            * `duality` - DUALITY
            * `comic-shadow` - COMIC_SHADOW
            * `clean-bold` - CLEAN_BOLD
            * `soft-pill` - SOFT_PILL
            * `underline-bold` - UNDERLINE_BOLD
            * `classic-duo` - CLASSIC_DUO
            * `hand-script` - HAND_SCRIPT
            * `button-glow` - BUTTON_GLOW
            * `emboss-outline` - EMBOSS_OUTLINE
            * `standard-bold` - STANDARD_BOLD
            * `outlined-text` - OUTLINED_TEXT
            * `quiet-serif` - QUIET_SERIF
            * `editorial-clean` - EDITORIAL_CLEAN
            * `shout-block` - SHOUT_BLOCK
            * `word-flash` - WORD_FLASH
            * `promo-punch` - PROMO_PUNCH
            * `light-word` - LIGHT_WORD
            * `tagline-bold` - TAGLINE_BOLD
            * `glow-speak` - GLOW_SPEAK
            * `black-block` - BLACK_BLOCK
            * `zoom-punch` - ZOOM_PUNCH
        offset:
          allOf:
            - $ref: '#/components/schemas/CTACaptionOffset'
          default:
            x: 0
            'y': 0
        font_family:
          allOf:
            - $ref: '#/components/schemas/FontFamilyEnum'
          default: Montserrat
          description: |-
            Font family

            * `Montserrat` - Montserrat
            * `Jockey One` - JockeyOne
            * `Lilita One` - LilitaOne
            * `Mclaren` - Mclaren
            * `Corben` - Corben
            * `Dela Gothic One` - DelaGothicOne
            * `Comfortaa` - Comfortaa
            * `Luckiest Guy` - LuckiestGuy
            * `Quantico` - Quantico
            * `Poppins` - Poppins
        font_size:
          type: integer
          default: 80
          description: Font size
        font_style:
          nullable: true
          description: |-
            Font style

            * `font-bold` - BOLD
            * `italic` - ITALIC
            * `underline` - UNDERLINE
          oneOf:
            - $ref: '#/components/schemas/FontStyleEnum'
            - $ref: '#/components/schemas/NullEnum'
        background_color:
          type: string
          nullable: true
          default: '#00000066'
          description: >-
            Caption background color, hex color with an alpha channel:
            #RRGGBBAA.
        text_color:
          type: string
          nullable: true
          description: 'Caption text color, hex color with an alpha channel: #RRGGBBAA.'
        highlight_text_color:
          type: string
          nullable: true
          description: >-
            Caption highlight color for the word currently being spoken, hex
            color with an alpha channel: #RRGGBBAA.
        max_width:
          type: integer
          nullable: true
          description: Caption max width in px
        line_height:
          type: number
          format: double
          default: 1.9
          description: Line height for the caption.
        text_shadow:
          type: string
          nullable: true
          description: Caption text shadow
        hidden:
          type: boolean
          default: false
          description: Hide caption
        override_visual_style:
          type: boolean
          default: false
          description: >-
            If true, these caption settings will override the visual style's
            default caption settings. Only effective when visual_style is set.
    CTACaptionOffset:
      type: object
      properties:
        x:
          type: number
          format: double
          default: 0
          description: X offset for the caption.
        'y':
          type: number
          format: double
          default: 0
          description: Y offset for the caption.
  securitySchemes:
    X-API-ID:
      type: apiKey
      in: header
      name: X-API-ID
      description: API ID, from your settings page.
    X-API-KEY:
      type: apiKey
      in: header
      name: X-API-KEY
      description: API Key, from your settings page.

````