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

# Kling V3.0 Motion Control API

> Kling 3.0 motion control: transfer motion from a reference video to any character image with improved consistency and quality.

## Overview

Kling 3.0 motion control generates videos where character actions match a reference video while the visual appearance is
based on a reference image. Provide an image of a character and a video showing the motion you want, and the model
produces a new video combining the character’s look with the reference motion.

This V3.0 update brings improved element consistency and higher quality output compared to V2.6, with better
preservation of character identity and smoother motion transfer.

## Query Task Status

After submitting a task, use the unified query endpoint to check progress and retrieve results:

<Card title="Get Task Info" icon="magnifying-glass" href="/models/common/get-task-info">
  Learn how to query task status and retrieve generation results
</Card>

<Tip>
  For production use, we recommend using the `callback_url` parameter to receive automatic notifications when generation completes, rather than polling the status endpoint.
</Tip>

## Related Resources

<CardGroup cols={2}>
  <Card title="Models Overview" icon="store" href="/models/quickstart">
    Explore all available models
  </Card>

  <Card title="Common API" icon="gear" href="/common-api/get-account-credits">
    Check credits and account usage
  </Card>
</CardGroup>


## OpenAPI

````yaml models/kling/v3-motion-control.json post /api/v1/client/job/CreateTask
openapi: 3.0.0
info:
  title: Crun Kling Motion Control API
  description: crun.ai Kling API Documentation
  version: 1.0.0
  contact:
    name: Technical Support
    email: support@crun.ai
servers:
  - url: https://api.crun.ai
    description: API Server
security:
  - ApiKeyAuth: []
paths:
  /api/v1/client/job/CreateTask:
    post:
      summary: kling v3-motion-control video generation
      operationId: kling/v3-motion-control
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
                - input
              properties:
                model:
                  type: string
                  enum:
                    - kling/v3-motion-control
                  description: |-
                    The model name to use for generation. Required field.

                    - Must be `kling/v3-motion-control` for this endpoint
                callback_url:
                  type: string
                  format: uri
                  description: >-
                    Optional. Callback URL for receiving task completion
                    notifications.


                    - System will POST task status and results to this URL when
                    generation completes

                    - Callback payloads structure is consistent with the `data`
                    object returned by the task status query

                    - Your callback endpoint should accept POST requests with
                    JSON payload containing results

                    - It returns an HTTP 200 status code upon successful receipt
                  example: https://your-domain.com/api/callback
                input:
                  type: object
                  description: >-
                    Input parameters for Kling 3.0 motion control. This endpoint
                    is used for action imitation by combining one reference
                    image with one reference video.
                  properties:
                    img_urls:
                      type: array
                      description: Reference character image. Provide exactly 1 image URL.
                      items:
                        type: string
                        format: uri
                      minItems: 1
                      maxItems: 1
                      example:
                        - https://example.com/character-photo.jpg
                    video_urls:
                      type: array
                      description: >-
                        Reference motion video. Provide exactly 1 video URL. The
                        generated clip length follows the reference video
                        duration.
                      items:
                        type: string
                        format: uri
                      minItems: 1
                      maxItems: 1
                      example:
                        - https://example.com/dance-motion-reference.mp4
                    character_orientation:
                      type: string
                      description: >-
                        Character orientation source. `image` keeps the
                        reference image orientation. `video` follows the
                        reference video orientation.
                      enum:
                        - image
                        - video
                      default: image
                      example: video
                    prompt:
                      type: string
                      description: Optional prompt used to add extra visual instructions.
                      maxLength: 2500
                      example: >-
                        High detail, smooth camera motion, preserve the original
                        costume.
                    mode:
                      type: string
                      description: >-
                        Generation mode. `std` returns 720p output. `pro`
                        returns 1080p output.
                      enum:
                        - std
                        - pro
                      default: std
                      example: pro
                    keep_original_sound:
                      type: boolean
                      description: >-
                        Whether to preserve the original audio track from the
                        reference video when supported.
                      default: true
                      example: true
                    input_compliance:
                      type: string
                      description: Optional input compliance check setting.
                      enum:
                        - disabled
                        - enabled
                      example: enabled
                    output_compliance:
                      type: string
                      description: Optional output compliance check setting.
                      enum:
                        - disabled
                        - enabled
                      example: enabled
                  required:
                    - img_urls
                    - video_urls
            example:
              model: kling/v3-motion-control
              callback_url: https://your-domain.com/api/callback
              input:
                img_urls:
                  - https://example.com/character_design.png
                video_urls:
                  - https://example.com/action_reference.mp4
                character_orientation: video
                prompt: >-
                  The character mirrors the skateboard motion while keeping a
                  sharp cinematic look.
                mode: pro
                keep_original_sound: true
                input_compliance: enabled
                output_compliance: enabled
      responses:
        '200':
          description: Request successful
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiResponse'
                  - type: object
                    properties:
                      data:
                        type: object
                        properties:
                          task_id:
                            type: string
                            description: >-
                              Task ID, can be used with Get Task Details
                              endpoint to query task status
                            example: task_12345678
              example:
                code: 200
                message: success
                data:
                  task_id: task_12345678
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiResponse'
                  - type: object
                    properties:
                      errors:
                        type: array
                        description: Detailed validation error messages
                        items:
                          type: string
                        example:
                          - specific error field message
              example:
                code: 422
                message: Missing Params or Type Error
                errors:
                  - specific error field message
        '500':
          $ref: '#/components/responses/Error'
components:
  schemas:
    ApiResponse:
      type: object
      properties:
        code:
          type: integer
          enum:
            - 200
            - 401
            - 402
            - 404
            - 422
            - 429
            - 455
            - 500
            - 501
            - 505
          description: >-
            Response status code


            - **200**: Success - Request has been processed successfully

            - **401**: Unauthorized - Authentication credentials are missing or
            invalid

            - **402**: Insufficient Credits - Account does not have enough
            credits to perform the operation

            - **404**: Not Found - The requested resource or endpoint does not
            exist

            - **422**: Validation Error - The request parameters failed
            validation checks

            - **429**: Rate Limited - Request limit has been exceeded for this
            resource

            - **455**: Service Unavailable - System is currently undergoing
            maintenance

            - **500**: Server Error - An unexpected error occurred while
            processing the request

            - **501**: Generation Failed - Content generation task failed

            - **505**: Feature Disabled - The requested feature is currently
            disabled
        message:
          type: string
          description: Response message, error description when failed
          example: success
  responses:
    Error:
      description: Server Error
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        All APIs require authentication via API Key.


        Get API Key:

        1. Visit [API Key Management Page](https://crun.ai/user-api-key) to get
        your API Key


        Usage:

        Add to request header:


        x-api-key: YOUR_API_KEY


        Note:

        - Keep your API Key secure and do not share it with others

        - If you suspect your API Key has been compromised, reset it immediately
        in the management page

````