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

# Video Upscaler Precision - Upscale video

> Upscales a video with precision-grade quality enhancement.
Designed for frame-accurate upscaling with fine-grained control over sharpening, grain, and output strength.
Supports output resolutions of 720p, 1k, 2k, or 4k with optional FPS boost.




## OpenAPI

````yaml post /v1/ai/video-upscaler-precision
openapi: 3.0.0
info:
  description: >-
    The Magnific API is your gateway to a vast collection of high-quality
    digital resources for your applications and projects. As a leading platform,
    it offers a wide range of graphics, including vectors, photos,
    illustrations, icons, PSD templates, and more, all curated by talented
    designers from around the world.
  title: Magnific API
  version: 1.0.0
servers:
  - description: B2B API Production V1
    url: https://api.magnific.com
security:
  - magnificApiKey: []
paths:
  /v1/ai/video-upscaler-precision:
    post:
      tags:
        - video-upscaler-precision
      summary: Video Upscaler Precision - Upscale video
      description: >
        Upscales a video with precision-grade quality enhancement.

        Designed for frame-accurate upscaling with fine-grained control over
        sharpening, grain, and output strength.

        Supports output resolutions of 720p, 1k, 2k, or 4k with optional FPS
        boost.
      operationId: postAiVideoUpscalerPrecision
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/request-content_5'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/get_style_transfer_task_status_200_response
          description: >-
            OK - Task created. The X-Frames-Billed header indicates the number
            of frames billed for B2B users.
          headers:
            X-Frames-Billed:
              description: >-
                Number of frames billed (B2B only). Minimum 12 frames, with
                1.60x multiplier if fps_boost is enabled.
              schema:
                type: integer
        '400':
          content:
            application/json:
              examples:
                invalid_page:
                  summary: Parameter 'page' is not valid
                  value:
                    message: Parameter 'page' must be greater than 0
                invalid_query:
                  summary: Parameter 'query' is not valid
                  value:
                    message: Parameter 'query' must not be empty
                invalid_filter:
                  summary: Parameter 'filter' is not valid
                  value:
                    message: Parameter 'filter' is not valid
                generic_bad_request:
                  summary: Bad Request
                  value:
                    message: Parameter ':attribute' is not valid
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_400_response'
            application/problem+json:
              examples:
                invalid_page:
                  summary: Parameter 'page' is not valid
                  value:
                    message: Validation error
                    invalid_params:
                      - field: page
                        reason: Parameter 'page' must be greater than 0
                      - field: per_page
                        reason: Parameter 'per_page' must be greater than 0
              schema:
                $ref: >-
                  #/components/schemas/get_all_style_transfer_tasks_400_response_1
          description: >-
            Bad Request - The server could not understand the request due to
            invalid syntax.
        '401':
          content:
            application/json:
              examples:
                invalid_api_key:
                  summary: API key is not valid
                  value:
                    message: Invalid API key
                missing_api_key:
                  summary: API key is not provided
                  value:
                    message: Missing API key
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_400_response'
          description: >-
            Unauthorized - The client must authenticate itself to get the
            requested response.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_500_response'
          description: >-
            Internal Server Error - The server has encountered a situation it
            doesn't know how to handle.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_503_response'
          description: Service Unavailable
components:
  schemas:
    request-content_5:
      properties:
        video:
          description: >
            Source video to upscale. Must be a publicly accessible HTTPS URL
            pointing to the video.
          type: string
        resolution:
          $ref: '#/components/schemas/resolution_1'
        fps_boost:
          default: false
          description: >-
            Enable FPS boost to increase the frame rate of the upscaled video.
            When enabled, the strength parameter is ignored and the fully
            upscaled result is returned.
          type: boolean
        sharpen:
          default: 0
          description: >
            Video sharpness intensity control. Higher values increase edge
            definition and clarity.

            Valid values range from 0 (no sharpening) to 100 (maximum
            sharpness). Default is 0.
          maximum: 100
          minimum: 0
          type: integer
        smart_grain:
          default: 0
          description: >
            Applies a film grain effect to the output video. Helps preserve
            natural film grain and texture detail.

            Valid values range from 0 (no grain) to 100 (maximum grain). Default
            is 0.
          maximum: 100
          minimum: 0
          type: integer
        strength:
          default: 60
          description: >
            Strength of the upscaling effect. Controls how much the output
            differs from the original video.

            A value of 0 returns the original video, 100 returns the fully
            upscaled result.

            Intermediate values blend the original with the upscaled result.

            This parameter is ignored when fps_boost is enabled. Default is 60.
          maximum: 100
          minimum: 0
          type: integer
        output_format:
          $ref: '#/components/schemas/output-format'
        webhook_url:
          description: >
            Optional callback URL that will receive asynchronous notifications
            when the upscaling task completes.

            The webhook will be called with the task status and the upscaled
            video URL.
          format: uri
          type: string
      required:
        - video
      type: object
    get_style_transfer_task_status_200_response:
      example:
        data:
          generated:
            - https://openapi-generator.tech
            - https://openapi-generator.tech
          task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: CREATED
      properties:
        data:
          $ref: '#/components/schemas/task-detail'
      required:
        - data
      type: object
    get_all_style_transfer_tasks_400_response:
      example:
        message: message
      properties:
        message:
          type: string
      type: object
    get_all_style_transfer_tasks_400_response_1:
      properties:
        problem:
          $ref: >-
            #/components/schemas/get_all_style_transfer_tasks_400_response_1_problem
      type: object
    get_all_style_transfer_tasks_500_response:
      example:
        message: Internal Server Error
      properties:
        message:
          example: Internal Server Error
          type: string
      type: object
    get_all_style_transfer_tasks_503_response:
      example:
        message: Service Unavailable. Please try again later.
      properties:
        message:
          example: Service Unavailable. Please try again later.
          type: string
      type: object
    resolution_1:
      default: 2k
      description: |
        Output resolution for the video upscaling:
        - `720p`: HD output
        - `1k`: Standard definition output
        - `2k`: High definition output (default)
        - `4k`: Ultra high definition output
      enum:
        - 720p
        - 1k
        - 2k
        - 4k
      type: string
    output-format:
      default: h264
      description: >
        Output video format. `h264` (default) returns an H.264 MP4.
        `prores_422_hq` returns an Apple ProRes 422 HQ master (.mov) alongside
        an H.264 preview.

        When `prores_422_hq` is selected the completed task's `generated` array
        contains both files: the H.264 MP4 preview and the ProRes master, which
        can be identified by its `.mov` extension.
      enum:
        - h264
        - prores_422_hq
      type: string
    task-detail:
      allOf:
        - $ref: '#/components/schemas/task'
        - properties:
            generated:
              items:
                description: URL of the generated image
                format: uri
                type: string
              type: array
          required:
            - generated
          type: object
      example:
        generated:
          - https://openapi-generator.tech
          - https://openapi-generator.tech
        task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        status: CREATED
    get_all_style_transfer_tasks_400_response_1_problem:
      properties:
        message:
          example: Validation error
          type: string
        invalid_params:
          items:
            $ref: >-
              #/components/schemas/get_all_style_transfer_tasks_400_response_1_problem_invalid_params_inner
          type: array
      required:
        - invalid_params
        - message
      type: object
    task:
      example:
        task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        status: CREATED
      properties:
        task_id:
          description: Task identifier
          format: uuid
          type: string
        status:
          description: Task status
          enum:
            - CREATED
            - IN_PROGRESS
            - COMPLETED
            - FAILED
          type: string
      required:
        - status
        - task_id
      type: object
    get_all_style_transfer_tasks_400_response_1_problem_invalid_params_inner:
      properties:
        name:
          description: Name of the invalid parameter.
          example: page
          type: string
        field:
          description: Field of the invalid parameter. Mirrors `name`.
          example: page
          type: string
        reason:
          example: Parameter 'page' must be greater than 0
          type: string
      required:
        - field
        - name
        - reason
      type: object
  securitySchemes:
    magnificApiKey:
      description: >
        Your Magnific API key. Required for authentication. [Learn how to obtain
        an API key](https://docs.magnific.com/quickstart)
      in: header
      name: x-magnific-api-key
      type: apiKey

````