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

# VFX - Apply visual effects to video

> Apply professional visual effects and filters to your videos using the VFX API. Transform any video with cinematic effects like film grain, motion blur, VHS retro style, and anamorphic lens distortion.

**Available filters:**
- `1` Film grain - Adds cinematic grain texture for a classic film look
- `2` Motion blur - Creates motion blur effect (configurable kernel size and decay)
- `3` Fish eye - Applies fish eye lens distortion
- `4` VHS - Retro VHS tape effect with scan lines and color distortion
- `5` Shake - Camera shake effect for dynamic footage
- `6` VGA - Low resolution VGA effect for retro aesthetics
- `7` Bloom - Glowing bloom effect (adjustable contrast)
- `8` Anamorphic lens - Cinematic anamorphic lens effect with horizontal flares

**Use cases:** Social media content, music videos, film production, advertising, retro-style videos, and creative projects.




## OpenAPI

````yaml post /v1/ai/video/vfx
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/vfx:
    post:
      tags:
        - video
      summary: VFX - Apply visual effects to video
      description: >
        Apply professional visual effects and filters to your videos using the
        VFX API. Transform any video with cinematic effects like film grain,
        motion blur, VHS retro style, and anamorphic lens distortion.


        **Available filters:**

        - `1` Film grain - Adds cinematic grain texture for a classic film look

        - `2` Motion blur - Creates motion blur effect (configurable kernel size
        and decay)

        - `3` Fish eye - Applies fish eye lens distortion

        - `4` VHS - Retro VHS tape effect with scan lines and color distortion

        - `5` Shake - Camera shake effect for dynamic footage

        - `6` VGA - Low resolution VGA effect for retro aesthetics

        - `7` Bloom - Glowing bloom effect (adjustable contrast)

        - `8` Anamorphic lens - Cinematic anamorphic lens effect with horizontal
        flares


        **Use cases:** Social media content, music videos, film production,
        advertising, retro-style videos, and creative projects.
      operationId: create_video_vfx
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/vfx-request'
        required: true
      responses:
        '200':
          content:
            application/json:
              examples:
                success - created task:
                  $ref: '#/components/examples/200-task-created'
                success - in progress task:
                  $ref: '#/components/examples/200-task-in-progress'
                success - completed task:
                  $ref: '#/components/examples/200-task-completed'
                success - failed task:
                  $ref: '#/components/examples/200-task-failed'
              schema:
                $ref: >-
                  #/components/schemas/_v1_ai_text_to_image_hyperflux_post_200_response
          description: OK - The task exists and the status is returned
        '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:
    vfx-request:
      properties:
        webhook_url:
          description: Webhook URL to notify when the task is completed
          format: uri
          type: string
        video:
          description: URL of the video to apply effects to. Must be publicly accessible.
          example: https://example.com/video.mp4
          format: uri
          type: string
        filter_type:
          $ref: '#/components/schemas/filter-type'
        fps:
          default: 24
          description: Frames per second for the output video
          maximum: 60
          minimum: 1
          type: integer
        bloom_filter_contrast:
          description: >-
            Contrast value for bloom filter effect. Only applicable when
            filter_type is 7 (bloom).
          example: 1.2
          type: number
        motion_filter_kernel_size:
          description: >-
            Kernel size for motion blur filter. Only applicable when filter_type
            is 2 (motion_blur).
          example: 5
          type: integer
        motion_filter_decay_factor:
          description: >-
            Decay factor for motion blur filter. Only applicable when
            filter_type is 2 (motion_blur).
          example: 0.8
          type: number
      required:
        - video
      type: object
    _v1_ai_text_to_image_hyperflux_post_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_1'
      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
    filter-type:
      default: 1
      description: >
        Type of visual effect filter to apply to the video.


        **Available filters:**

        - `1`: Film grain - Adds cinematic grain texture

        - `2`: Motion blur - Creates motion blur effect

        - `3`: Fish eye - Applies fish eye lens distortion

        - `4`: VHS - Retro VHS tape effect

        - `5`: Shake - Camera shake effect

        - `6`: VGA - Low resolution VGA effect

        - `7`: Bloom - Glowing bloom effect (use bloom_filter_contrast to
        adjust)

        - `8`: Anamorphic lens - Cinematic anamorphic lens effect
      enum:
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
      example: 1
      type: integer
    task-detail_1:
      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
  examples:
    200-task-created:
      summary: Success - Task created
      value:
        data:
          generated: []
          task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: CREATED
    200-task-in-progress:
      summary: Success - Task in progress
      value:
        data:
          generated: []
          task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: IN_PROGRESS
    200-task-completed:
      summary: Success - Task completed
      value:
        data:
          generated:
            - https://ai-statics.freepik.com/completed_task_image.jpg
          task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: COMPLETED
    200-task-failed:
      summary: Success - Task failed
      value:
        data:
          generated: []
          task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: FAILED
  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

````