Freepik Kling 4k I2v API

The kling-4k-i2v API from Freepik — 2 operation(s) for kling-4k-i2v.

Operations 3

GET /v1/ai/video/kling-4k-i2v Kling 4K I2V - List tasks #
POST /v1/ai/video/kling-4k-i2v Kling 4K I2V - Generate video from image #
GET /v1/ai/video/kling-4k-i2v/{task-id} Kling 4K I2V - Get task status #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/freepik:freepik-kling-4k-i2v-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

freepik-kling-4k-i2v-api-openapi.yml Raw ↑
openapi: 3.2.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 Kling 4k I2v API
  version: 1.0.0
servers:
- description: B2B API Production V1
  url: https://api.magnific.com
security:
- magnificApiKey: []
tags:
- name: kling-4k-i2v
paths:
  /v1/ai/video/kling-4k-i2v:
    get:
      description: Retrieve the list of all Kling 4K Image-to-Video tasks for the authenticated user.
      operationId: getAiVideoKling4kI2vTasks
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_200_response'
          description: OK - The list of Kling 4K I2V tasks is returned
        '400':
          $ref: '#/components/responses/400-bad-request'
        '401':
          $ref: '#/components/responses/401-unauthorized'
        '500':
          $ref: '#/components/responses/500-internal-server-error'
        '503':
          $ref: '#/components/responses/503-service-unavailable'
      summary: Kling 4K I2V - List tasks
      tags:
      - kling-4k-i2v
    post:
      description: 'Generate AI video in 4K resolution from an image using Kling 4K Image-to-Video.


        **Features:**

        - **Image-to-video**: Use a reference image to guide 4K video generation

        - **End frame control**: Optionally specify an end frame image

        - **Motion brush**: Use static and dynamic masks for precise motion control


        **Duration:** 3-15 seconds

        **Resolution:** 4K output quality.'
      operationId: postAiVideoKling4kI2v
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/kling-4k-i2v-request'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/task-detail-200-default-response'
          description: OK - Task created successfully
        '400':
          $ref: '#/components/responses/400-bad-request'
        '401':
          $ref: '#/components/responses/401-unauthorized'
        '500':
          $ref: '#/components/responses/500-internal-server-error'
        '503':
          $ref: '#/components/responses/503-service-unavailable'
      summary: Kling 4K I2V - Generate video from image
      tags:
      - kling-4k-i2v
  /v1/ai/video/kling-4k-i2v/{task-id}:
    get:
      description: Retrieve the status and result of a specific Kling 4K Image-to-Video task by its task ID.
      operationId: getAiVideoKling4kI2vTask
      parameters:
      - description: ID of the task
        in: path
        name: task-id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                success - completed task:
                  $ref: '#/components/examples/200-task-completed'
                success - in progress task:
                  $ref: '#/components/examples/200-task-in-progress'
              schema:
                $ref: '#/components/schemas/get_style_transfer_task_status_200_response'
          description: OK - The task exists and the status is returned
        '400':
          $ref: '#/components/responses/400-bad-request'
        '401':
          $ref: '#/components/responses/401-unauthorized'
        '500':
          $ref: '#/components/responses/500-internal-server-error'
        '503':
          $ref: '#/components/responses/503-service-unavailable'
      summary: Kling 4K I2V - Get task status
      tags:
      - kling-4k-i2v
components:
  responses:
    401-unauthorized:
      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/inline_object'
      description: Unauthorized - The client must authenticate itself to get the requested response.
    503-service-unavailable:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/inline_object_3'
      description: Service Unavailable
    400-bad-request:
      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/inline_object'
        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/inline_object_1'
      description: Bad Request - The server could not understand the request due to invalid syntax.
    500-internal-server-error:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/inline_object_2'
      description: Internal Server Error - The server has encountered a situation it doesn't know how to handle.
  schemas:
    inline_object_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
    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
    task-detail-200-default-response:
      description: OK - The task exists and the status is returned
    inline_object_1:
      properties:
        problem:
          $ref: '#/components/schemas/inline_object_1_problem'
      type: object
    inline_object_1_problem:
      properties:
        message:
          example: Validation error
          type: string
        invalid_params:
          items:
            $ref: '#/components/schemas/inline_object_1_problem_invalid_params_inner'
          type: array
      required:
      - invalid_params
      - message
      type: object
    inline_object_2:
      example:
        message: Internal Server Error
      properties:
        message:
          example: Internal Server Error
          type: string
      type: object
    inline_object:
      example:
        message: message
      properties:
        message:
          type: string
      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
    inline_object_3:
      example:
        message: Service Unavailable. Please try again later.
      properties:
        message:
          example: Service Unavailable. Please try again later.
          type: string
      type: object
    itvkp_request_content_dynamic_masks_inner_trajectories_inner:
      properties:
        x:
          description: Horizontal coordinate (X-coordinate) in 2D pixel system.
          type: integer
        y:
          description: Vertical coordinate (Y-coordinate) in 2D pixel system.
          type: integer
      required:
      - x
      - y
      type: object
    itvkp_request_content_dynamic_masks_inner:
      properties:
        mask:
          description: 'Dynamic mask image for defining motion brush application areas with trajectories.


            ● Support inputting image Base64 encoding or image URL (ensure the URL is accessible and follows the same format requirements as the image field).

            ● Supported image formats include .jpg / .jpeg / .png

            ● The aspect ratio of the mask image must match the input image (image field); otherwise, the task will fail (failed).

            ● The resolutions of the static_mask image and the dynamic_masks.mask image must be identical; otherwise, the task will fail (failed).'
          type: string
        trajectories:
          description: Motion Trajectory Coordinate Sequence
          items:
            $ref: '#/components/schemas/itvkp_request_content_dynamic_masks_inner_trajectories_inner'
          type: array
      required:
      - mask
      - trajectories
      type: object
    get_all_style_transfer_tasks_200_response:
      example:
        data:
        - task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: CREATED
        - task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: CREATED
      properties:
        data:
          items:
            $ref: '#/components/schemas/task'
          type: array
      required:
      - data
      type: object
    kling-4k-i2v-request:
      properties:
        webhook_url:
          description: 'Optional callback URL that receives asynchronous notifications when the task changes status.

            The payload includes the task status and result URL when completed.

            '
          format: uri
          type: string
        image:
          description: 'Reference image for video generation. Supports Base64 encoding or URL (ensure accessibility).

            For URL, must be publicly accessible.


            **Image requirements:**

            - Minimum: 300x300 pixels

            - Maximum: 10MB file size

            - Aspect ratio: 1:2.5 to 2.5:1

            - Formats: JPG, JPEG, PNG

            '
          type: string
        image_tail:
          description: 'Optional end frame control image. Supports Base64 encoding or URL.

            For URL, must be publicly accessible. Must follow the same format requirements as the `image` field.


            **Image requirements:**

            - Same as `image` field

            '
          type: string
        prompt:
          description: 'Text prompt describing the desired video content. Maximum 2500 characters.


            **Tips for better results:**

            - Be specific about motion, camera angles, and actions

            - Describe the scene, characters, and atmosphere

            '
          maxLength: 2500
          type: string
        negative_prompt:
          default: blur, distort, and low quality
          description: Undesired elements to avoid in the generated video. Maximum 2500 characters.
          maxLength: 2500
          type: string
        cfg_scale:
          default: 0.5
          description: 'Guidance scale controlling prompt adherence versus creative freedom. Range: 0 to 1.


            - **0**: Maximum creative freedom, loosest interpretation of the prompt

            - **0.5** (default): Balanced between prompt adherence and creativity

            - **1**: Strongest adherence to the prompt, least creative variation

            '
          format: float
          maximum: 1
          minimum: 0
          type: number
        duration:
          default: '5'
          description: 'Duration of the generated video in seconds.


            **Range:** 3-15 seconds

            '
          enum:
          - '3'
          - '4'
          - '5'
          - '6'
          - '7'
          - '8'
          - '9'
          - '10'
          - '11'
          - '12'
          - '13'
          - '14'
          - '15'
          type: string
        static_mask:
          description: 'Static mask image for defining motion brush application areas.


            ● Supports both Base64 encoding and image URLs (ensure URLs are publicly accessible and follow the same format requirements as the `image` field).

            ● Supported image formats include .jpg / .jpeg / .png.

            ● The aspect ratio of the mask image MUST match the input image (`image` field); otherwise, the task will fail.

            ● The resolutions of the `static_mask` image and the `dynamic_masks.mask` images must be identical; otherwise, the task will fail.

            ● The static brush feature allows you to define areas where motion will be applied in the generated video.'
          type: string
        dynamic_masks:
          items:
            $ref: '#/components/schemas/itvkp_request_content_dynamic_masks_inner'
          type: array
      required:
      - image
      type: object
    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
  examples:
    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
  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
x-provenance:
  method: harvested
  publisher: Freepik
  source: https://storage.googleapis.com/fc-freepik-pro-rev1-eu-api-specs/magnific-api-v1-openapi.yaml?v=46\
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)