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

# Kling 3 Pro - Motion control video

> Transfer motion from a reference video to a character image using Kling 3 Pro. The model preserves the character's appearance while applying motion patterns from the reference video.



## OpenAPI

````yaml post /v1/ai/video/kling-v3-motion-control-pro
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/kling-v3-motion-control-pro:
    post:
      tags:
        - video
        - kling-v3-motion-control-pro
        - background_tasks
      summary: Kling 3 Pro - Motion control video
      description: >-
        Transfer motion from a reference video to a character image using Kling
        3 Pro. The model preserves the character's appearance while applying
        motion patterns from the reference video.
      operationId: postAiVideoKlingV3MotionControlPro
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/motion-control-request'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/task-detail-200-default-response'
          description: OK
        '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.
components:
  schemas:
    motion-control-request:
      properties:
        webhook_url:
          description: >-
            Webhook URL to notify you when the task completes. When provided,
            the server will send a POST request to this URL with the task
            result.
          format: uri
          type: string
        image_url:
          description: >
            URL of the character/reference image. The motion from the reference
            video will be transferred to this character.


            **Requirements:**

            - Must be a publicly accessible URL

            - Minimum resolution: 300x300 pixels

            - Maximum file size: 10MB

            - Supported formats: JPG, JPEG, PNG, WEBP
          format: uri
          type: string
        video_url:
          description: |
            URL of the reference video containing the motion to transfer.

            **Requirements:**
            - Must be a publicly accessible URL
            - Duration: 3-30 seconds
            - Supported formats: MP4, MOV, WEBM, M4V
          format: uri
          type: string
        prompt:
          description: >-
            Optional text prompt to guide the motion transfer. Cannot exceed
            2500 characters.
          maxLength: 2500
          type: string
        character_orientation:
          default: video
          description: >
            How the model interprets spatial information and constrains output
            duration.


            - **video**: Orientation matches reference video. Better for complex
            motions. Maximum output duration: 30 seconds.

            - **image**: Orientation matches reference image. Better for
            following camera movements. Maximum output duration: 10 seconds.
          enum:
            - video
            - image
          type: string
        cfg_scale:
          default: 0.5
          description: >-
            The CFG (Classifier Free Guidance) scale controls how closely the
            model follows the prompt. Higher values mean stronger adherence to
            the prompt but less flexibility.
          format: float
          maximum: 1
          minimum: 0
          type: number
      required:
        - image_url
        - video_url
      type: object
    task-detail-200-default-response:
      description: OK - The task exists and the status is returned
    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_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
    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

````