Freepik Kling V3 Pro API

The kling-v3-pro API from Freepik — 1 operation(s) for kling-v3-pro.

Operations 1

POST /v1/ai/video/kling-v3-pro Kling 3 Pro - Generate video #

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-v3-pro-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-v3-pro-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 V3 Pro API
  version: 1.0.0
servers:
- description: B2B API Production V1
  url: https://api.magnific.com
security:
- magnificApiKey: []
tags:
- name: kling-v3-pro
paths:
  /v1/ai/video/kling-v3-pro:
    post:
      description: 'Generate AI video using Kling 3 Pro with text-to-video or image-to-video capabilities.


        **Features:**

        - **Text-to-video**: Generate videos from text prompts

        - **Image-to-video**: Use start and/or end frame images to guide generation

        - **Multi-shot**: Create videos with up to 6 shots (max 15s total)

        - **Element control**: Include reference images for consistent character/style


        **Duration:** 3-15 seconds

        **Quality:** Pro mode offers highest quality output with longer processing time.'
      operationId: postAiVideoKlingV3Pro
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/kling-v3-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 3 Pro - Generate video
      tags:
      - kling-v3-pro
components:
  schemas:
    inline_object:
      example:
        message: message
      properties:
        message:
          type: string
      type: object
    task-detail-200-default-response:
      description: OK - The task exists and the status is returned
    inline_object_3:
      example:
        message: Service Unavailable. Please try again later.
      properties:
        message:
          example: Service Unavailable. Please try again later.
          type: string
      type: object
    kling-v3-duration:
      default: '5'
      description: 'Duration of the generated video in seconds.


        **Range:** 3-15 seconds

        **Note:** When using multi-shot mode, total duration across all shots cannot exceed 15 seconds.

        '
      enum:
      - '3'
      - '4'
      - '5'
      - '6'
      - '7'
      - '8'
      - '9'
      - '10'
      - '11'
      - '12'
      - '13'
      - '14'
      - '15'
      type: string
    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
    inline_object_1:
      properties:
        problem:
          $ref: '#/components/schemas/inline_object_1_problem'
      type: object
    kling-v3-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
        prompt:
          description: 'Text prompt describing the desired video content. Maximum 2500 characters.

            Required for text-to-video mode or when not using multi_prompt.


            **Tips for better results:**

            - Be specific about motion, camera angles, and actions

            - Describe the scene, characters, and atmosphere

            - Reference elements in your prompt as @Element1, @Element2

            - Reference voices with <<<voice_1>>> and <<<voice_2>>>

            '
          maxLength: 2500
          type: string
        multi_prompt:
          description: 'Multi-shot prompts with durations for sequential video generation.

            Each item specifies a prompt and duration (in seconds) for that shot.

            Maximum 6 shots. Total duration across all shots cannot exceed 15 seconds.


            Only effective when shot_type is set. When multi_prompt is provided without an explicit shot_type, it defaults to "customize".

            When shot_type is "intelligent", Kling can auto-segment the video even without multi_prompt.

            '
          items:
            $ref: '#/components/schemas/kling-v3-multi-prompt-item'
          maxItems: 6
          type: array
        start_image_url:
          description: 'URL of the image to use as the first frame of the video.

            Required for image-to-video mode.


            **Image requirements:**

            - Minimum: 300x300 pixels

            - Maximum: 10MB file size

            - Aspect ratio: 1:2.5 to 2.5:1

            - Formats: JPG, JPEG, PNG

            '
          type: string
        end_image_url:
          description: 'URL of the image to use as the final frame of the video.

            Optional for image-to-video mode.


            **Image requirements:**

            - Same as start_image_url

            '
          type: string
        generate_audio:
          default: true
          description: Whether to generate native audio for the video.
          type: boolean
        multi_shot:
          default: false
          description: 'Enable multi-shot mode for multi-scene video generation.

            When true, use shot_type and multi_prompt to define scenes.

            When false (default), generates a single continuous video.

            '
          type: boolean
        shot_type:
          default: customize
          description: 'Controls how multi-shot video generation is segmented:

            - `customize`: User provides explicit per-shot prompts and durations via the multi_prompt array. Each shot is defined manually.

            - `intelligent`: Enables automatic scene segmentation by Kling AI. Can be used without multi_prompt (Kling auto-segments the video based on the main prompt) or with multi_prompt (user-defined shots combined with AI segmentation).


            Note: This parameter maps to Kling''s internal "intelligence" spelling for the intelligent option.

            Defaults to "customize" when multi_prompt is provided.

            '
          enum:
          - customize
          - intelligent
          type: string
        aspect_ratio:
          $ref: '#/components/schemas/kling-v3-aspect-ratio'
        duration:
          $ref: '#/components/schemas/kling-v3-duration'
        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.

            Values above 1 are not supported for Kling 3 (only Kling 1.x models support cfg_scale up to 2).


            - **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
      type: object
    kling-v3-multi-prompt-item:
      description: Multi-shot prompt item with prompt text and duration for Kling V3.
      properties:
        prompt:
          description: Text prompt for this specific shot segment. Maximum 2500 characters.
          maxLength: 2500
          type: string
        duration:
          description: Duration of this segment in seconds (3-15).
          enum:
          - '3'
          - '4'
          - '5'
          - '6'
          - '7'
          - '8'
          - '9'
          - '10'
          - '11'
          - '12'
          - '13'
          - '14'
          - '15'
          type: string
      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
    kling-v3-aspect-ratio:
      default: 969
      description: 'Aspect ratio for the generated video:

        - `16:9`: Landscape (widescreen) - ideal for YouTube, presentations

        - `9:16`: Portrait (vertical) - ideal for TikTok, Instagram Stories, Reels

        - `1:1`: Square - ideal for Instagram posts, social media

        '
      enum:
      - 969
      - 556
      - 61
      type: string
    inline_object_2:
      example:
        message: Internal Server Error
      properties:
        message:
          example: Internal Server Error
          type: string
      type: object
  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.
    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.
    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.
    503-service-unavailable:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/inline_object_3'
      description: Service Unavailable
  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)