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

# Render video

> This endpoint renders a video with preview genereated. Rendering a video through this endpoint costs 4 credits for every 30 seconds.

### About Request Data Structure of Webhook

When using 'create video from link' or 'preview video from link' API, if the 'webhook\_url' is passed in the parameters, we will initiate a POST request to the `webhook_url` when the task succeeds or fails, with the following content:

```python theme={null}
{
    'id': 'string',
    'status': 'string',
    'failed_reason': 'string',
    'video_output': 'string',
    'video_thumbnail': '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
* `video_output` (string): The URL of the video if the job is done
* `video_thumbnail` (string): The Thumbnail URL of the video if the job is done

*Note: We might send multiple requests for status changes.*


## OpenAPI

````yaml post /api/link_to_videos/{id}/render/
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/{id}/render/:
    post:
      tags:
        - link_to_videos
      description: This endpoint triggers the rendering of a video link.
      operationId: link_to_videos_render_create
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          description: A UUID string identifying this Link to Video.
          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.

````