> ## 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.

# Generate Preview video from link

> This endpoint generates a preiview of video before redering the final video. Generating a video preview through this endpoint costs 1 credit for every 30 seconds.

### About preview Field in the Response

The preview field provides a link to preview the video. This link allows you to preview the video before rendering it, you can put it in an iframe to show the video in your application.
Example: The preview field in the response will look like this:

```arduino theme={null}
"https://video.creatify.ai/preview?layout=videos/20240808/abd7ac2e-471a-4f0c-b2b2-a4e6580c61f9.json"
```

### About override\_avatar parameter

When using 'create video from link' API, if the 'override\_avatar' (`avatar_id` is passed in the parameters, we will use it as the avatar of the video. If the 'override\_avatar' is not passed, we will use the matched avatar for the video.

`avatar_id` is the unique identifier of an avatar. You can get the `avatar_id` by calling the [Get avatar](/api-reference/personas/get-apipersonas) endpoint.

### About override\_voice parameter

When using 'create video from link' API, if the 'override\_voice' is passed in the parameters, we will use it for the voiceover of the video. If the 'override\_voice' is not passed, we'll use the matched voice (from the avatar) for the video.

`voice_id` is the unique identifier of the voice. You can get the voice\_id by calling the [Get voices](/api-reference/voices/get-apivoices) interface.

Tips: foreach voice has multiple accents, you can choose one from the accents as the voice of the video.


## OpenAPI

````yaml post /api/link_to_videos/preview/
openapi: 3.0.3
info:
  title: creatify.ai API
  version: 1.0.0
  description: API for creatify.ai
servers: []
security: []
paths:
  /api/link_to_videos/preview/:
    post:
      tags:
        - link_to_videos
      description: >-
        Mixin to provide a reusable `list` method for filtering and paginating
        queryset results.
      operationId: link_to_videos_preview_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LinkToVideo'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/LinkToVideo'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/LinkToVideo'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkToVideo'
          description: ''
      security:
        - X-API-ID: []
          X-API-KEY: []
components:
  schemas:
    LinkToVideo:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          nullable: true
          description: Name of the video. Default is null.
          maxLength: 255
        target_platform:
          type: string
          description: Target platform for the video. Default is 'tiktok'.
          maxLength: 255
        target_audience:
          type: string
          nullable: true
          description: Target audience for the video. Default is 'young adults'.
        language:
          allOf:
            - $ref: '#/components/schemas/LanguageEnum'
          description: |-
            Language of the video. Default is 'en'.

            * `af` - Afrikaans
            * `ar` - Arabic
            * `as` - Assamese
            * `az` - Azerbaijani
            * `be` - Belarusian
            * `bg` - Bulgarian
            * `bn` - Bengali
            * `bs` - Bosnian
            * `ca` - Catalan; Valencian
            * `cb` - Cebuano
            * `cs` - Czech
            * `cy` - Welsh
            * `da` - Danish
            * `de` - German
            * `el` - Greek, Modern
            * `en` - English
            * `es` - Spanish; Castilian
            * `et` - Estonian
            * `fa` - Persian
            * `fi` - Finnish
            * `fl` - Filipino
            * `fr` - French
            * `ga` - Irish
            * `gl` - Galician
            * `gu` - Gujarati
            * `ha` - Hausa
            * `he` - Hebrew (modern)
            * `hi` - Hindi
            * `hr` - Croatian
            * `hu` - Hungarian
            * `hy` - Armenian
            * `id` - Indonesian
            * `is` - Icelandic
            * `it` - Italian
            * `ja` - Japanese
            * `jv` - Javanese
            * `ka` - Georgian
            * `kk` - Kazakh
            * `kn` - Kannada
            * `ko` - Korean
            * `ky` - Kirghiz, Kyrgyz
            * `lb` - Luxembourgish, Letzeburgesch
            * `ln` - Lingala
            * `lt` - Lithuanian
            * `lv` - Latvian
            * `mk` - Macedonian
            * `ml` - Malayalam
            * `mr` - Marathi (Marāṭhī)
            * `ms` - Malay
            * `ne` - Nepali
            * `nl` - Dutch
            * `no` - Norwegian
            * `ny` - Chichewa; Chewa; Nyanja
            * `pa` - Panjabi, Punjabi
            * `pl` - Polish
            * `ps` - Pashto, Pushto
            * `pt` - Portuguese
            * `ro` - Romanian, Moldavian, Moldovan
            * `ru` - Russian
            * `sd` - Sindhi
            * `sk` - Slovak
            * `sl` - Slovene
            * `so` - Somali
            * `sr` - Serbian
            * `sv` - Swedish
            * `sw` - Swahili
            * `ta` - Tamil
            * `te` - Telugu
            * `th` - Thai
            * `tl` - Tagalog
            * `tr` - Turkish
            * `uk` - Ukrainian
            * `ur` - Urdu
            * `vi` - Vietnamese
            * `zh` - Chinese
        video_length:
          allOf:
            - $ref: '#/components/schemas/VideoLengthEnum'
          description: |-
            Length of the video in seconds. Default is 15.

            * `15` - 15
            * `30` - 30
            * `45` - 45
            * `60` - 60
        aspect_ratio:
          allOf:
            - $ref: '#/components/schemas/LinkToVideoAspectRatioEnum'
          description: |-
            Aspect ratio of the video. Default is '16x9'.

            * `16x9` - 16x9
            * `1x1` - 1x1
            * `9x16` - 9x16
        script_style:
          allOf:
            - $ref: '#/components/schemas/ScriptStyleEnum'
          description: |-
            Script style of the video. Default is DiscoveryWriter.

            * `BenefitsV2` - Benefits
            * `BrandStoryV2` - Brand Story
            * `CallToActionV2` - Call To Action
            * `DiscoveryWriter` - Discovery
            * `DontWorryWriter` - Don't Worry
            * `EmotionalWriter` - Emotional
            * `GenzWriter` - Gen Z
            * `HowToV2` - How To
            * `LetMeShowYouWriter` - Let Me Show You
            * `MotivationalWriter` - Motivational
            * `ProblemSolutionV2` - Problem Solution
            * `ProblemSolutionWriter` - Problem-Solution
            * `ProductHighlightsV2` - Product Highlights
            * `ProductLifestyleV2` - Product Lifestyle
            * `ResponseBubbleWriter` - Response Bubble
            * `SpecialOffersV2` - Special Offers
            * `StoryTimeWriter` - Storytime
            * `ThreeReasonsWriter` - 3 Reasons Why
            * `TrendingTopicsV2` - Trending Topics
            * `NegativeHook` - Don’t Use This If You Want...
            * `NumberOneHook` - The #1 Hack You Need
            * `EverWonderHook` - Ever Wonder Why?
            * `SecretHook` - Wish I Could Keep This Secret
            * `WhatHappensHook` - What Happens If You Try This?
            * `AnyoneElseHook` - That One Thing We All Have
            * `AmazedHook` - Still Amazed by This
            * `2025Hook` - Hack 2025 Like This
            * `HateMeHook` - They’ll Hate Me for This
            * `ResponseBubbleTextOverlay` - Response bubble
            * `HeyAlgorithmHook` - Hey Algorithm
            * `CannotBelieveHook` - Cannot Believe This
            * `FinallyConfidentHook` - Finally Confident
            * `PremiumFeelingHook` - Premium Feeling
            * `FirstTimeFullHook` - First Time Full
            * `LongLineReasonHook` - Long Line Reason
            * `MissingOutAlertHook` - Missing Out Alert
            * `BetterTodayVersionHook` - Better Today Version
            * `BigHappeningHook` - Big Happening
            * `PriceDropRegretHook` - Price Drop Regret
            * `GroupBuyFrustrationHook` - Group Buy Frustration
            * `StopAffordExcuseHook` - Stop Afford Excuse
            * `LifeTooShortDiscountHook` - Life Too Short Discount
            * `HugePriceDropRushHook` - Huge Price Drop Rush
            * `PriceCouldGoLowerHook` - Price Could Go Lower
            * `StillFullPriceHook` - Still Full Price
            * `SecretDiscountShareHook` - Secret Discount Share
            * `VoucherSavingsAlertHook` - Voucher Savings Alert
            * `CouponDiscoveryRegretHook` - Coupon Discovery Regret
            * `BestDealEverHook` - Best Deal Ever
            * `DIY` - DIY
        visual_style:
          allOf:
            - $ref: '#/components/schemas/VisualStyle3e2Enum'
          default: AvatarBubbleTemplate
          description: >-
            Visual style of the video. Default is AvatarBubbleTemplate.

            - `AvatarBubbleTemplate`: Avatar Bubble (Applicable to aspect_ratio
            9x16, 16x9, 1x1)

            - `DramaticTemplate`: Dramatic (Applicable to aspect_ratio 9x16)

            - `DynamicGreenScreenEffect`: Dynamic Green Screen Effect
            (Applicable to aspect_ratio 9x16, 16x9, 1x1)

            - `DynamicProductTemplate`: Product (Applicable to aspect_ratio
            9x16, 16x9, 1x1)

            - `DynamicResponseBubbleTemplate`: Response Bubble (Applicable to
            aspect_ratio 9x16)

            - `EnhancedVanillaTemplate`: Dynamic Vanilla (Applicable to
            aspect_ratio 9x16, 16x9, 1x1)

            - `FeatureHighlightTemplate`: Feature Highlight (Applicable to
            aspect_ratio 9x16, 1x1, 16x9)

            - `FullScreenTemplate`: Full Screen (Applicable to aspect_ratio
            9x16, 16x9, 1x1)

            - `FullScreenV2Template`: Full Screen V2 (Applicable to aspect_ratio
            9x16, 16x9, 1x1)

            - `GreenScreenEffectTemplate`: Green Screen Effect (Applicable to
            aspect_ratio 9x16, 16x9, 1x1)

            - `MotionCardsTemplate`: Motion Cards (Applicable to aspect_ratio
            9x16, 16x9, 1x1)

            - `OverCardsTemplate`: Over Cards (Applicable to aspect_ratio 9x16,
            16x9, 1x1)

            - `QuickFrameTemplate`: Quick Frame (Applicable to aspect_ratio
            16x9)

            - `QuickTransitionTemplate`: Quick Transition (Applicable to
            aspect_ratio 9x16, 16x9, 1x1)

            - `ScribbleTemplate`: Scribble (Applicable to aspect_ratio 9x16,
            16x9, 1x1)

            - `SideBySideTemplate`: Side by Side (Applicable to aspect_ratio
            9x16, 16x9, 1x1)

            - `SimpleAvatarOverlayTemplate`: Product Presenter (Applicable to
            aspect_ratio 9x16, 16x9, 1x1)

            - `TopBottomTemplate`: Top & Bottom (Applicable to aspect_ratio
            9x16, 1x1)

            - `TwitterFrameTemplate`: Twitter Frame (Applicable to aspect_ratio
            9x16, 16x9, 1x1)

            - `VanillaTemplate`: Vanilla (Applicable to aspect_ratio 9x16, 16x9,
            1x1)

            - `VlogTemplate`: Vlog (Applicable to aspect_ratio 9x16)

            - `LegoVisualEmotional`: Emotional (Applicable to aspect_ratio 9x16,
            16x9, 1x1)

            - `LegoVisualCutePets`: Cute Pets (Applicable to aspect_ratio 9x16,
            16x9, 1x1)

            - `LegoVisualAvatarFocusIntro`: Avatar Focus Intro (Applicable to
            aspect_ratio 9x16, 16x9, 1x1)

            - `LegoScriptNegativeHook`: Don’t Use This If You Want...
            (Applicable to aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptNumberOneHook`: The #1 Hack You Need (Applicable to
            aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptEverWonderHook`: Ever Wonder Why? (Applicable to
            aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptSecretHook`: Wish I Could Keep This Secret (Applicable
            to aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptWhatHappensHook`: What Happens If You Try This?
            (Applicable to aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptAnyoneElseHook`: That One Thing We All Have (Applicable
            to aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptAmazedHook`: Still Amazed by This (Applicable to
            aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScript2025Hook`: Hack 2025 Like This (Applicable to
            aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptHateMeHook`: They’ll Hate Me for This (Applicable to
            aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptResponseBubbleTextOverlay`: Response bubble (Applicable
            to aspect_ratio 9x16, 1x1)

            - `LegoScriptHeyAlgorithmHook`: Hey Algorithm (Applicable to
            aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptCannotBelieveHook`: Cannot Believe This (Applicable to
            aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptFinallyConfidentHook`: Finally Confident (Applicable to
            aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptPremiumFeelingHook`: Premium Feeling (Applicable to
            aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptFirstTimeFullHook`: First Time Full (Applicable to
            aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptLongLineReasonHook`: Long Line Reason (Applicable to
            aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptMissingOutAlertHook`: Missing Out Alert (Applicable to
            aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptBetterTodayVersionHook`: Better Today Version
            (Applicable to aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptBigHappeningHook`: Big Happening (Applicable to
            aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptPriceDropRegretHook`: Price Drop Regret (Applicable to
            aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptGroupBuyFrustrationHook`: Group Buy Frustration
            (Applicable to aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptStopAffordExcuseHook`: Stop Afford Excuse (Applicable
            to aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptLifeTooShortDiscountHook`: Life Too Short Discount
            (Applicable to aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptHugePriceDropRushHook`: Huge Price Drop Rush
            (Applicable to aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptPriceCouldGoLowerHook`: Price Could Go Lower
            (Applicable to aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptStillFullPriceHook`: Still Full Price (Applicable to
            aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptSecretDiscountShareHook`: Secret Discount Share
            (Applicable to aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptVoucherSavingsAlertHook`: Voucher Savings Alert
            (Applicable to aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptCouponDiscoveryRegretHook`: Coupon Discovery Regret
            (Applicable to aspect_ratio 9x16, 1x1, 16x9)

            - `LegoScriptBestDealEverHook`: Best Deal Ever (Applicable to
            aspect_ratio 9x16, 1x1, 16x9)
        override_avatar:
          type: string
          nullable: true
          description: Override avatar for the video. Default is null.
          maxLength: 255
        override_avatar_by_image:
          type: string
          format: uri
          nullable: true
          description: Override avatar by providing an avatar image URL. Default is null.
          maxLength: 1000
        override_voice:
          type: string
          nullable: true
          description: Override voice for the video. Default is null.
          maxLength: 255
        override_script:
          type: string
          nullable: true
          description: Override script for the video. Default is null.
        background_music_url:
          type: string
          format: uri
          nullable: true
          description: >-
            Background music URL for the video. Default is null, video will use
            random music.
          maxLength: 255
        background_music_volume:
          type: number
          format: double
          maximum: 1
          minimum: 0
          nullable: true
          description: >-
            Volume of the background music, ranging from 0.0 to 1.0. Default is
            null, video will use default music volume of visual_style.
        voiceover_volume:
          type: number
          format: double
          maximum: 1
          minimum: 0
          nullable: true
          description: >-
            Volume of the voiceover, ranging from 0.0 to 1.0. Default is null,
            video will use default voiceover volume of visual_style.
        webhook_url:
          type: string
          format: uri
          nullable: true
          description: Webhook URL for status updates. Default is null.
          maxLength: 200
        link:
          type: string
          format: uuid
          description: Link associated with the video.
        media_job:
          type: string
          format: uuid
          readOnly: true
          nullable: true
          description: Media job associated with the video. Default is null.
        status:
          type: string
          readOnly: true
        failed_reason:
          type: string
          readOnly: true
          nullable: true
          description: Reason for failure. Default is null.
        is_hidden:
          type: boolean
          readOnly: true
        video_output:
          type: string
          format: uri
          readOnly: true
          description: Generated Video URL
        video_thumbnail:
          type: string
          format: uri
          readOnly: true
          description: Generated Video Thumbnail URL
        outputs:
          type: array
          items:
            $ref: '#/components/schemas/Output'
          readOnly: true
          description: List of outputs
        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
        no_background_music:
          type: boolean
          description: >-
            No background music for the video. Default is false, video with
            background music.
        no_caption:
          type: boolean
          description: No caption for the video. Default is false, video with caption.
        no_emotion:
          type: boolean
          description: No emotion for the video. Default is false, video with emotion.
        no_cta:
          type: boolean
          description: >-
            No call to action for the video. Default is false, video with call
            to action.
        no_stock_broll:
          type: boolean
          description: >-
            No stock broll for the video. Default is false, video with stock
            broll.
        preview:
          type: string
          format: uri
          readOnly: true
          description: Preview URL
        previews:
          type: array
          items:
            $ref: '#/components/schemas/Preview'
          readOnly: true
          description: List of previews
        editor_url:
          type: string
          format: uri
          readOnly: true
          description: >-
            Editor URL for the video. Expires in 24 hours. Available only if
            your API account has API editor access enabled. 
        caption_style:
          nullable: true
          description: >-
            Deprecated, use style in caption_setting instead. Caption style for
            the video. Default is 'normal-black'.


            * `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
          oneOf:
            - $ref: '#/components/schemas/CaptionStyleEnum'
            - $ref: '#/components/schemas/BlankEnum'
            - $ref: '#/components/schemas/NullEnum'
        caption_offset_x:
          type: string
          format: decimal
          pattern: ^-?\d{0,1}(?:\.\d{0,2})?$
          nullable: true
          description: >-
            Deprecated, use offset in caption_setting instead. Caption offset x
            is horizontally relative to the center of the canvas in percentage,
            range from -0.5 to 0.5. Default is null, video with default caption
            position of visual_style.
        caption_offset_y:
          type: string
          format: decimal
          pattern: ^-?\d{0,1}(?:\.\d{0,2})?$
          nullable: true
          description: >-
            Deprecated, use offset in caption_setting instead. Caption offset y
            is vertically relative to the center of the canvas in percentage,
            range from -0.5 to 0.5. Default is null, video with default caption
            position of visual_style.
        caption_setting:
          allOf:
            - $ref: '#/components/schemas/CaptionSetting'
          nullable: true
          description: >-
            Caption setting, default null and default caption setting will be
            used
        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
      required:
        - credits_used
        - duration
        - editor_url
        - failed_reason
        - id
        - is_hidden
        - link
        - media_job
        - outputs
        - preview
        - previews
        - progress
        - status
        - video_output
        - video_thumbnail
    LanguageEnum:
      enum:
        - af
        - ar
        - as
        - az
        - be
        - bg
        - bn
        - bs
        - ca
        - cb
        - cs
        - cy
        - da
        - de
        - el
        - en
        - es
        - et
        - fa
        - fi
        - fl
        - fr
        - ga
        - gl
        - gu
        - ha
        - he
        - hi
        - hr
        - hu
        - hy
        - id
        - is
        - it
        - ja
        - jv
        - ka
        - kk
        - kn
        - ko
        - ky
        - lb
        - ln
        - lt
        - lv
        - mk
        - ml
        - mr
        - ms
        - ne
        - nl
        - 'no'
        - ny
        - pa
        - pl
        - ps
        - pt
        - ro
        - ru
        - sd
        - sk
        - sl
        - so
        - sr
        - sv
        - sw
        - ta
        - te
        - th
        - tl
        - tr
        - uk
        - ur
        - vi
        - zh
      type: string
      description: |-
        * `af` - Afrikaans
        * `ar` - Arabic
        * `as` - Assamese
        * `az` - Azerbaijani
        * `be` - Belarusian
        * `bg` - Bulgarian
        * `bn` - Bengali
        * `bs` - Bosnian
        * `ca` - Catalan; Valencian
        * `cb` - Cebuano
        * `cs` - Czech
        * `cy` - Welsh
        * `da` - Danish
        * `de` - German
        * `el` - Greek, Modern
        * `en` - English
        * `es` - Spanish; Castilian
        * `et` - Estonian
        * `fa` - Persian
        * `fi` - Finnish
        * `fl` - Filipino
        * `fr` - French
        * `ga` - Irish
        * `gl` - Galician
        * `gu` - Gujarati
        * `ha` - Hausa
        * `he` - Hebrew (modern)
        * `hi` - Hindi
        * `hr` - Croatian
        * `hu` - Hungarian
        * `hy` - Armenian
        * `id` - Indonesian
        * `is` - Icelandic
        * `it` - Italian
        * `ja` - Japanese
        * `jv` - Javanese
        * `ka` - Georgian
        * `kk` - Kazakh
        * `kn` - Kannada
        * `ko` - Korean
        * `ky` - Kirghiz, Kyrgyz
        * `lb` - Luxembourgish, Letzeburgesch
        * `ln` - Lingala
        * `lt` - Lithuanian
        * `lv` - Latvian
        * `mk` - Macedonian
        * `ml` - Malayalam
        * `mr` - Marathi (Marāṭhī)
        * `ms` - Malay
        * `ne` - Nepali
        * `nl` - Dutch
        * `no` - Norwegian
        * `ny` - Chichewa; Chewa; Nyanja
        * `pa` - Panjabi, Punjabi
        * `pl` - Polish
        * `ps` - Pashto, Pushto
        * `pt` - Portuguese
        * `ro` - Romanian, Moldavian, Moldovan
        * `ru` - Russian
        * `sd` - Sindhi
        * `sk` - Slovak
        * `sl` - Slovene
        * `so` - Somali
        * `sr` - Serbian
        * `sv` - Swedish
        * `sw` - Swahili
        * `ta` - Tamil
        * `te` - Telugu
        * `th` - Thai
        * `tl` - Tagalog
        * `tr` - Turkish
        * `uk` - Ukrainian
        * `ur` - Urdu
        * `vi` - Vietnamese
        * `zh` - Chinese
    VideoLengthEnum:
      enum:
        - 15
        - 30
        - 45
        - 60
      type: integer
      description: |-
        * `15` - 15
        * `30` - 30
        * `45` - 45
        * `60` - 60
    LinkToVideoAspectRatioEnum:
      enum:
        - 16x9
        - 1x1
        - 9x16
      type: string
      description: |-
        * `16x9` - 16x9
        * `1x1` - 1x1
        * `9x16` - 9x16
    ScriptStyleEnum:
      enum:
        - BenefitsV2
        - BrandStoryV2
        - CallToActionV2
        - DiscoveryWriter
        - DontWorryWriter
        - EmotionalWriter
        - GenzWriter
        - HowToV2
        - LetMeShowYouWriter
        - MotivationalWriter
        - ProblemSolutionV2
        - ProblemSolutionWriter
        - ProductHighlightsV2
        - ProductLifestyleV2
        - ResponseBubbleWriter
        - SpecialOffersV2
        - StoryTimeWriter
        - ThreeReasonsWriter
        - TrendingTopicsV2
        - NegativeHook
        - NumberOneHook
        - EverWonderHook
        - SecretHook
        - WhatHappensHook
        - AnyoneElseHook
        - AmazedHook
        - 2025Hook
        - HateMeHook
        - ResponseBubbleTextOverlay
        - HeyAlgorithmHook
        - CannotBelieveHook
        - FinallyConfidentHook
        - PremiumFeelingHook
        - FirstTimeFullHook
        - LongLineReasonHook
        - MissingOutAlertHook
        - BetterTodayVersionHook
        - BigHappeningHook
        - PriceDropRegretHook
        - GroupBuyFrustrationHook
        - StopAffordExcuseHook
        - LifeTooShortDiscountHook
        - HugePriceDropRushHook
        - PriceCouldGoLowerHook
        - StillFullPriceHook
        - SecretDiscountShareHook
        - VoucherSavingsAlertHook
        - CouponDiscoveryRegretHook
        - BestDealEverHook
        - DIY
      type: string
      description: |-
        * `BenefitsV2` - Benefits
        * `BrandStoryV2` - Brand Story
        * `CallToActionV2` - Call To Action
        * `DiscoveryWriter` - Discovery
        * `DontWorryWriter` - Don't Worry
        * `EmotionalWriter` - Emotional
        * `GenzWriter` - Gen Z
        * `HowToV2` - How To
        * `LetMeShowYouWriter` - Let Me Show You
        * `MotivationalWriter` - Motivational
        * `ProblemSolutionV2` - Problem Solution
        * `ProblemSolutionWriter` - Problem-Solution
        * `ProductHighlightsV2` - Product Highlights
        * `ProductLifestyleV2` - Product Lifestyle
        * `ResponseBubbleWriter` - Response Bubble
        * `SpecialOffersV2` - Special Offers
        * `StoryTimeWriter` - Storytime
        * `ThreeReasonsWriter` - 3 Reasons Why
        * `TrendingTopicsV2` - Trending Topics
        * `NegativeHook` - Don’t Use This If You Want...
        * `NumberOneHook` - The #1 Hack You Need
        * `EverWonderHook` - Ever Wonder Why?
        * `SecretHook` - Wish I Could Keep This Secret
        * `WhatHappensHook` - What Happens If You Try This?
        * `AnyoneElseHook` - That One Thing We All Have
        * `AmazedHook` - Still Amazed by This
        * `2025Hook` - Hack 2025 Like This
        * `HateMeHook` - They’ll Hate Me for This
        * `ResponseBubbleTextOverlay` - Response bubble
        * `HeyAlgorithmHook` - Hey Algorithm
        * `CannotBelieveHook` - Cannot Believe This
        * `FinallyConfidentHook` - Finally Confident
        * `PremiumFeelingHook` - Premium Feeling
        * `FirstTimeFullHook` - First Time Full
        * `LongLineReasonHook` - Long Line Reason
        * `MissingOutAlertHook` - Missing Out Alert
        * `BetterTodayVersionHook` - Better Today Version
        * `BigHappeningHook` - Big Happening
        * `PriceDropRegretHook` - Price Drop Regret
        * `GroupBuyFrustrationHook` - Group Buy Frustration
        * `StopAffordExcuseHook` - Stop Afford Excuse
        * `LifeTooShortDiscountHook` - Life Too Short Discount
        * `HugePriceDropRushHook` - Huge Price Drop Rush
        * `PriceCouldGoLowerHook` - Price Could Go Lower
        * `StillFullPriceHook` - Still Full Price
        * `SecretDiscountShareHook` - Secret Discount Share
        * `VoucherSavingsAlertHook` - Voucher Savings Alert
        * `CouponDiscoveryRegretHook` - Coupon Discovery Regret
        * `BestDealEverHook` - Best Deal Ever
        * `DIY` - DIY
    VisualStyle3e2Enum:
      enum:
        - AvatarBubbleTemplate
        - DramaticTemplate
        - DynamicGreenScreenEffect
        - DynamicProductTemplate
        - DynamicResponseBubbleTemplate
        - EnhancedVanillaTemplate
        - FeatureHighlightTemplate
        - FullScreenTemplate
        - FullScreenV2Template
        - GreenScreenEffectTemplate
        - MotionCardsTemplate
        - OverCardsTemplate
        - QuickFrameTemplate
        - QuickTransitionTemplate
        - ScribbleTemplate
        - SideBySideTemplate
        - SimpleAvatarOverlayTemplate
        - TopBottomTemplate
        - TwitterFrameTemplate
        - VanillaTemplate
        - VlogTemplate
        - LegoVisualEmotional
        - LegoVisualCutePets
        - LegoVisualAvatarFocusIntro
        - LegoScriptNegativeHook
        - LegoScriptNumberOneHook
        - LegoScriptEverWonderHook
        - LegoScriptSecretHook
        - LegoScriptWhatHappensHook
        - LegoScriptAnyoneElseHook
        - LegoScriptAmazedHook
        - LegoScript2025Hook
        - LegoScriptHateMeHook
        - LegoScriptResponseBubbleTextOverlay
        - LegoScriptHeyAlgorithmHook
        - LegoScriptCannotBelieveHook
        - LegoScriptFinallyConfidentHook
        - LegoScriptPremiumFeelingHook
        - LegoScriptFirstTimeFullHook
        - LegoScriptLongLineReasonHook
        - LegoScriptMissingOutAlertHook
        - LegoScriptBetterTodayVersionHook
        - LegoScriptBigHappeningHook
        - LegoScriptPriceDropRegretHook
        - LegoScriptGroupBuyFrustrationHook
        - LegoScriptStopAffordExcuseHook
        - LegoScriptLifeTooShortDiscountHook
        - LegoScriptHugePriceDropRushHook
        - LegoScriptPriceCouldGoLowerHook
        - LegoScriptStillFullPriceHook
        - LegoScriptSecretDiscountShareHook
        - LegoScriptVoucherSavingsAlertHook
        - LegoScriptCouponDiscoveryRegretHook
        - LegoScriptBestDealEverHook
      type: string
    Output:
      type: object
      properties:
        media_job:
          type: string
          format: uuid
          description: UUID of the media job
        visual_style:
          allOf:
            - $ref: '#/components/schemas/VisualStyle3e2Enum'
          description: Visual style of the video
        aspect_ratio:
          $ref: '#/components/schemas/AspectRatio338Enum'
        duration:
          type: integer
          description: Duration of the rendered video in seconds
        video_output:
          type: string
          format: uri
          readOnly: true
          description: Generated Video URL
        video_thumbnail:
          type: string
          format: uri
          readOnly: true
          description: Generated Video Thumbnail URL
        status:
          allOf:
            - $ref: '#/components/schemas/StatusD69Enum'
          readOnly: true
        progress:
          type: number
          format: double
          readOnly: true
          description: Progress of the job, from 0 to 1
        failed_reason:
          type: string
          readOnly: true
          description: Failed reason if the job failed
      required:
        - failed_reason
        - media_job
        - progress
        - status
        - video_output
        - video_thumbnail
        - visual_style
    Preview:
      type: object
      properties:
        media_job:
          type: string
          format: uuid
          description: UUID of the media job
        visual_style:
          allOf:
            - $ref: '#/components/schemas/VisualStyle3e2Enum'
          description: Visual style of the video
        aspect_ratio:
          $ref: '#/components/schemas/AspectRatio338Enum'
        url:
          type: string
          format: uri
          description: Preview URL
        editor_url:
          type: string
          format: uri
          readOnly: true
          description: >-
            Editor URL for the video. Expires in 24 hours. Available only if
            your API account has API editor access enabled. 
        duration:
          type: integer
          description: Duration of the preview video in seconds
      required:
        - editor_url
        - media_job
        - url
        - visual_style
    CaptionStyleEnum:
      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
    BlankEnum:
      enum:
        - ''
    NullEnum:
      enum:
        - null
    CaptionSetting:
      type: object
      properties:
        style:
          nullable: true
          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
          oneOf:
            - $ref: '#/components/schemas/Style0e1Enum'
            - $ref: '#/components/schemas/NullEnum'
        offset:
          allOf:
            - $ref: '#/components/schemas/CaptionOffset'
          nullable: true
          description: Caption offset
        font_family:
          nullable: true
          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
          oneOf:
            - $ref: '#/components/schemas/FontFamilyEnum'
            - $ref: '#/components/schemas/NullEnum'
        font_size:
          type: integer
          nullable: true
          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.
    ModelVersion699Enum:
      enum:
        - standard
        - aurora_v1
        - aurora_v1_fast
      type: string
      description: |-
        * `standard` - Standard
        * `aurora_v1` - Aurora v1
        * `aurora_v1_fast` - Aurora v1 Fast
    AspectRatio338Enum:
      enum:
        - 9x16
        - 16x9
        - 1x1
      type: string
      description: |-
        * `9x16` -  9X16
        * `16x9` -  16X9
        * `1x1` -  1X1
    StatusD69Enum:
      enum:
        - pending
        - in_queue
        - running
        - failed
        - done
        - rejected
      type: string
      description: |-
        * `pending` - Pending
        * `in_queue` - In Queue
        * `running` - Running
        * `failed` - Failed
        * `done` - Done
        * `rejected` - Rejected
    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
  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.

````