Lightricks asyncVideoGeneration API

The asyncVideoGeneration API from Lightricks — 8 operation(s) for asyncvideogeneration.

OpenAPI Specification

lightricks-asyncvideogeneration-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: API Reference asyncVideoGeneration API
  version: 1.0.0
servers:
- url: https://api.ltx.video
  description: Production server
tags:
- name: asyncVideoGeneration
paths:
  /v2/text-to-video:
    post:
      operationId: submit-text-to-video
      summary: Generate video from text
      description: 'Generate a video from a text prompt. Describe the scene, camera motion, and mood — the model returns a video with matching audio.


        Responds immediately with the job `id` and `created_at` timestamp. Poll `GET /v2/text-to-video/{id}` until the status is `completed`, then download from `result.video_url`.


        Billed per second of generated video. See [Pricing](/pricing).

        '
      tags:
      - asyncVideoGeneration
      parameters:
      - name: Authorization
        in: header
        description: API key authentication
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Job submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2JobCreatedResponse'
        '400':
          description: The request is invalid or malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: Insufficient credits
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Content rejected by safety filters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: An unexpected error occurred
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service temporarily unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TextToVideoRequest'
  /v2/image-to-video:
    post:
      operationId: submit-image-to-video
      summary: Generate video from image
      description: 'Animate a still image with realistic motion, depth, and audio. Provide a reference image plus a prompt describing the desired motion. The output preserves the visual identity of the source image.


        Responds immediately with the job `id` and `created_at` timestamp. Poll `GET /v2/image-to-video/{id}` until the status is `completed`, then download from `result.video_url`.


        Billed per second of generated video. See [Pricing](/pricing).

        '
      tags:
      - asyncVideoGeneration
      parameters:
      - name: Authorization
        in: header
        description: API key authentication
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Job submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2JobCreatedResponse'
        '400':
          description: The request is invalid or malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: Insufficient credits
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Content rejected by safety filters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: An unexpected error occurred
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service temporarily unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageToVideoRequest'
  /v2/audio-to-video:
    post:
      operationId: submit-audio-to-video
      summary: Generate video from audio
      description: 'Generate a video driven by an audio track. Supply dialogue, music, or ambient sound and the model produces visuals synchronized to the audio. Optionally condition on a reference image for visual direction.


        Responds immediately with the job `id` and `created_at` timestamp. Poll `GET /v2/audio-to-video/{id}` until the status is `completed`, then download from `result.video_url`.


        Billed per second of input audio. See [Pricing](/pricing).

        '
      tags:
      - asyncVideoGeneration
      parameters:
      - name: Authorization
        in: header
        description: API key authentication
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Job submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2JobCreatedResponse'
        '400':
          description: The request is invalid or malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: Insufficient credits
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Content rejected by safety filters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: An unexpected error occurred
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service temporarily unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AudioToVideoRequest'
  /v2/retake:
    post:
      operationId: submit-retake
      summary: Retake video section
      description: 'Re-generate a section of an existing video by replacing either its audio, its video, or both. Select a time range and mode to iterate on part of a generation without starting over — the rest of the video is preserved.


        Responds immediately with the job `id` and `created_at` timestamp. Poll `GET /v2/retake/{id}` until the status is `completed`, then download from `result.video_url`.


        Billed per second of the input video. See [Pricing](/pricing).

        '
      tags:
      - asyncVideoGeneration
      parameters:
      - name: Authorization
        in: header
        description: API key authentication
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Job submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2JobCreatedResponse'
        '400':
          description: The request is invalid or malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: Insufficient credits
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Content rejected by safety filters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: An unexpected error occurred
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service temporarily unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EditVideoRequest'
  /v2/extend:
    post:
      operationId: submit-extend
      summary: Extend video duration
      description: 'Extend a video by generating additional frames at the beginning or end. The model uses context frames from the input to produce a seamless continuation with consistent motion and audio.


        Responds immediately with the job `id` and `created_at` timestamp. Poll `GET /v2/extend/{id}` until the status is `completed`, then download from `result.video_url`.


        Billed per second, based on the extended portion plus the context frames used from the input video. See [Pricing](/pricing).

        '
      tags:
      - asyncVideoGeneration
      parameters:
      - name: Authorization
        in: header
        description: API key authentication
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Job submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2JobCreatedResponse'
        '400':
          description: The request is invalid or malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: Insufficient credits
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Content rejected by safety filters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: An unexpected error occurred
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service temporarily unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExtendVideoRequest'
  /v2/video-to-video-hdr:
    post:
      operationId: submit-video-to-video-hdr
      summary: Upscale video to HDR
      description: 'Convert an SDR video into HDR. On completion, the result contains `exr_frames_url` — a ZIP of per-frame EXR images suitable for color grading or HDR rendering pipelines.


        Responds immediately with the job `id` and `created_at` timestamp. Poll `GET /v2/video-to-video-hdr/{id}` until the status is `completed`.


        Billed per second of input video, by input resolution tier. See [Pricing](/pricing).

        '
      tags:
      - asyncVideoGeneration
      parameters:
      - name: Authorization
        in: header
        description: API key authentication
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Job submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2JobCreatedResponse'
        '400':
          description: The request is invalid or malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: Insufficient credits
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Content rejected by safety filters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: An unexpected error occurred
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service temporarily unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoToVideoHdrRequest'
  /v2/video-to-video-reframe:
    post:
      operationId: submit-video-to-video-reframe
      summary: Reframe a video to a new resolution
      description: 'Reframe a video to a new resolution. The model fills in the missing areas with generated content that matches the original. On completion, the result contains `video_url`, the source video reframed to the requested resolution.


        Responds immediately with the job `id` and `created_at` timestamp. Poll `GET /v2/video-to-video-reframe/{id}` until the status is `completed`.


        Billed per second of input video, by output resolution. See [Pricing](/pricing).

        '
      tags:
      - asyncVideoGeneration
      parameters:
      - name: Authorization
        in: header
        description: API key authentication
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Job submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2JobCreatedResponse'
        '400':
          description: The request is invalid or malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: Insufficient credits
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Content rejected by safety filters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: An unexpected error occurred
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service temporarily unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoToVideoReframeRequest'
  /v2/{endpoint}/{id}:
    get:
      operationId: get-job-status
      summary: Get job status
      description: 'Poll the status of an async generation job. Status transitions through `pending` → `processing` → `completed` or `failed`. When completed, the `result` object contains output URLs (see each endpoint''s documentation for the available keys). Poll every 5 seconds and stop when the status reaches `completed` or `failed`. Status and output URLs are available for 24 hours after the job reaches a terminal state. After expiry this endpoint returns `404`.

        '
      tags:
      - asyncVideoGeneration
      parameters:
      - name: id
        in: path
        description: Job ID returned from the submit endpoint.
        required: true
        schema:
          type: string
      - name: endpoint
        in: path
        description: The endpoint type used when submitting the job (e.g., `text-to-video`, `image-to-video`, `audio-to-video`, `retake`, `extend`, `video-to-video-hdr`, `video-to-video-reframe`).
        required: true
        schema:
          $ref: '#/components/schemas/V2EndpointIdGetParametersEndpoint'
      - name: Authorization
        in: header
        description: API key authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Current job status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2JobStatusResponse'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: An unexpected error occurred
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    V2JobError:
      type: object
      properties:
        type:
          type: string
          description: Error type for programmatic handling. Same values as HTTP error types.
        message:
          type: string
          description: Human-readable error description.
      required:
      - type
      - message
      description: 'Error details for a failed job. Uses the same error types as HTTP error responses

        (`api_error`, `content_filtered_error`, `insufficient_funds_error`, etc.).

        '
      title: V2JobError
    V2JobCreatedResponse:
      type: object
      properties:
        id:
          type: string
          description: Unique job identifier. Use this to poll for status.
        created_at:
          type: string
          format: date-time
          description: ISO 8601 timestamp of when the job was created.
      required:
      - id
      - created_at
      description: Response returned when a V2 async job is successfully submitted.
      title: V2JobCreatedResponse
    Error:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ErrorType'
          description: Response type indicator
        error:
          $ref: '#/components/schemas/ErrorError'
      required:
      - type
      - error
      title: Error
    AudioToVideoRequest:
      type: object
      properties:
        audio_uri:
          type: string
          description: 'Audio file to be used as the soundtrack for the video. Duration must be between 2 and 20 seconds.

            See [Input Formats](/input-formats#audio-input) for supported formats and size limits.

            '
        image_uri:
          type: string
          description: Input image to be used as the first frame of the video. Required if prompt is not provided. See [Input Formats](/input-formats#image-input) for supported formats and size limits.
        prompt:
          type: string
          description: Text description of how the video should be generated. Required if image_uri is not provided. Can be empty string when image_uri is provided. If image_uri is provided, this describes how the image should be animated. If no image_uri is provided, this describes the video content.
        resolution:
          $ref: '#/components/schemas/AudioToVideoRequestResolution'
          description: 'The resolution of the generated video in WIDTHxHEIGHT format. When omitted, the resolution is automatically determined based on the input image orientation — portrait images produce 1080x1920 video, landscape images produce 1920x1080 video. If no image is provided, defaults to 1920x1080.

            '
        guidance_scale:
          type: number
          format: double
          description: Optional guidance scale (also known as CFG) for video generation. Higher values make the output more closely follow the prompt but may reduce quality. Defaults to 5 for text-to-video, or 9 when providing an image.
        model:
          $ref: '#/components/schemas/AudioToVideoRequestModel'
          description: 'Model to use for video generation.


            > **Deprecated:** `ltx-2-pro` is deprecated. See the [LTX-2 Deprecation Notice](/ltx-2-deprecation).

            '
      required:
      - audio_uri
      title: AudioToVideoRequest
    VideoToVideoReframeRequestResolution:
      type: string
      enum:
      - 720x720
      - 1080x1080
      - 720x900
      - 1080x1350
      - 900x720
      - 1350x1080
      - 720x1280
      - 1080x1920
      - 1280x720
      - 1920x1080
      description: 'Target output resolution. The source video is extended to fill this frame. Pass one of the values below; each maps to an aspect ratio:


        | Aspect ratio | Resolutions |

        | --- | --- |

        | 1:1 (square) | `720x720`, `1080x1080` |

        | 4:5 (portrait) | `720x900`, `1080x1350` |

        | 5:4 (landscape) | `900x720`, `1350x1080` |

        | 9:16 (portrait) | `720x1280`, `1080x1920` |

        | 16:9 (landscape) | `1280x720`, `1920x1080` |

        '
      title: VideoToVideoReframeRequestResolution
    TextToVideoRequestModel:
      type: string
      enum:
      - ltx-2-fast
      - ltx-2-pro
      - ltx-2-3-fast
      - ltx-2-3-pro
      description: 'Model to use for generation. See [Supported Models](/models) for details.


        > **Deprecated:** `ltx-2-fast` and `ltx-2-pro` are deprecated. See the [LTX-2 Deprecation Notice](/ltx-2-deprecation).

        '
      title: TextToVideoRequestModel
    AudioToVideoRequestResolution:
      type: string
      enum:
      - 1920x1080
      - 1080x1920
      description: 'The resolution of the generated video in WIDTHxHEIGHT format. When omitted, the resolution is automatically determined based on the input image orientation — portrait images produce 1080x1920 video, landscape images produce 1920x1080 video. If no image is provided, defaults to 1920x1080.

        '
      title: AudioToVideoRequestResolution
    TextToVideoRequest:
      type: object
      properties:
        prompt:
          type: string
          description: Text prompt describing the desired video content
        model:
          $ref: '#/components/schemas/TextToVideoRequestModel'
          description: 'Model to use for generation. See [Supported Models](/models) for details.


            > **Deprecated:** `ltx-2-fast` and `ltx-2-pro` are deprecated. See the [LTX-2 Deprecation Notice](/ltx-2-deprecation).

            '
        duration:
          type: integer
          description: Video duration in seconds. See [Supported Models](/models) for available durations per model.
        fps:
          type: integer
          default: 24
          description: Frame rate in frames per second. See [Supported Models](/models) for available FPS per model and resolution.
        resolution:
          type: string
          description: Output video resolution. See [Supported Models](/models) for available resolutions per model.
        generate_audio:
          type: boolean
          default: true
          description: Generate audio for the video. When true, the generated video will include AI-generated audio matching the scene. When false, only silent video is generated.
        camera_motion:
          $ref: '#/components/schemas/TextToVideoRequestCameraMotion'
          description: Apply camera motion effects to the generated video.
      required:
      - prompt
      - model
      - duration
      - resolution
      title: TextToVideoRequest
    ErrorError:
      type: object
      properties:
        type:
          type: string
          description: Error type for programmatic handling
        message:
          type: string
          description: Human-readable error description
      required:
      - type
      - message
      title: ErrorError
    V2EndpointIdGetParametersEndpoint:
      type: string
      enum:
      - text-to-video
      - image-to-video
      - audio-to-video
      - retake
      - extend
      - video-to-video-hdr
      - video-to-video-reframe
      title: V2EndpointIdGetParametersEndpoint
    V2JobFailedStatus:
      type: string
      enum:
      - failed
      title: V2JobFailedStatus
    V2JobResult:
      type: object
      additionalProperties:
        type: string
        format: uri
      description: 'Result object for a completed job. Contains output URLs — the available keys depend on the endpoint. Available for 24 hours after completion.

        '
      title: V2JobResult
    V2JobProcessingStatus:
      type: string
      enum:
      - processing
      title: V2JobProcessingStatus
    V2JobPendingStatus:
      type: string
      enum:
      - pending
      title: V2JobPendingStatus
    VideoToVideoReframeRequestModel:
      type: string
      enum:
      - ltx-2-3-pro
      description: 'Model used for reframing.

        '
      title: VideoToVideoReframeRequestModel
    EditVideoRequest:
      type: object
      properties:
        video_uri:
          type: string
          description: 'Input video for editing. See [Input Formats](/input-formats#video-input) for supported formats and codecs.


            - Maximum resolution: 3840x2160 (4K)

            - Minimum frame count: 73 (around 3 seconds at 24fps)

            '
        prompt:
          type: string
          description: 'Describing what needs to happen in the generated video in a section

            defined by `start_time` and `duration`.

            '
        start_time:
          type: number
          format: double
          description: 'Start time in seconds, defines the section to be edited in the input video.


            The section defined by `start_time` and `duration` should be within the duration of the input video.

            If the section extends beyond the duration of the video, it will be clamped to the video duration.

            '
        duration:
          type: number
          format: double
          description: 'Duration in seconds, defines the duration of the section to be edited

            in the input video. Must be at least 2 seconds.


            The section defined by `start_time` and `duration` should be within the duration of the input video.

            If the section extends beyond the duration of the video, it will be clamped to the video duration.

            '
        mode:
          $ref: '#/components/schemas/EditVideoRequestMode'
          description: 'Can be any of the following:

            - `replace_audio` - Replace only the audio track

            - `replace_video` - Replace only the video track

            - `replace_audio_and_video` - Replace both audio and video tracks


            The default value is `replace_audio_and_video` if not specified.

            '
        resolution:
          $ref: '#/components/schemas/EditVideoRequestResolution'
          description: 'The resolution of the generated video in WIDTHxHEIGHT format. When omitted, the resolution is automatically determined based on the input video orientation — portrait videos produce 1080x1920 output, landscape videos produce 1920x1080 output.

            '
        model:
          $ref: '#/components/schemas/EditVideoRequestModel'
          description: 'Model to use for video generation.


            > **Deprecated:** `ltx-2-pro` is deprecated. See the [LTX-2 Deprecation Notice](/ltx-2-deprecation).

            '
      required:
      - video_uri
      - start_time
      - duration
      title: EditVideoRequest
    ImageToVideoRequest:
      type: object
      properties:
        image_uri:
          type: string
          description: Image to be used as the first frame of the video. See [Input Formats](/input-formats#image-input) for supported formats and size limits.
        prompt:
          type: string
          description: Text description of how the image should be animated, can relate to the details in the image
        model:
          $ref: '#/components/schemas/ImageToVideoRequestModel'
          description: 'Model to use for generation. See [Supported Models](/models) for details.


            > **Deprecated:** `ltx-2-fast` and `ltx-2-pro` are deprecated. See the [LTX-2 Deprecation Notice](/ltx-2-deprecation).

            '
        duration:
          type: integer
          description: Video duration in seconds. See [Supported Models](/models) for available durations per model.
        fps:
          type: integer
          default: 24
          description: Frame rate in frames per second. See [Supported Models](/models) for available FPS per model and resolution.
        resolution:
          type: string
          description: Output video resolution. See [Supported Models](/models) for available resolutions per model.
        generate_audio:
          type: boolean
          default: true
          description: Generate audio for the video. When true, the generated video will include AI-generated audio matching the scene. When false, only silent video is generated.
        last_frame_uri:
          type: string
          description: 'Image to be used as the last frame of the video. When provided, the video will interpolate between the first frame (image_uri) and this last frame. See [Input Formats](/input-formats#image-input) for supported formats and size limits.


            > Note: Only supported by `ltx-2-3` models (`ltx-2-3-fast`, `ltx-2-3-pro`).

            '
        camera_motion:
          $ref: '#/components/schemas/ImageToVideoRequestCameraMotion'
          description: Apply camera motion effects to the generated video.
      required:
      - image_uri
      - prompt
      - model
      - duration
      - resolution
      title: ImageToVideoRequest
    VideoToVideoHdrRequest:
      type: object
      properties:
        video_uri:
          type: string
          description: 'SDR source video in HTTPS URL or base64 data URI format. See [Input Formats](/input-formats#video-input) for supported formats and codecs.


            Max frames (and max duration at 24 fps) depend on the input resoluti

# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lightricks/refs/heads/main/openapi/lightricks-asyncvideogeneration-api-openapi.yml