SJinn
Kling V3 Motion Control

Kling V3 Motion Control

Transfer motion from a reference video onto a character image using the latest Kling V3 model with enhanced quality

Tool Overview

The Kling V3 Motion Control tool transfers motion from a reference video onto a static character image using the latest Kling V3 model. Compared to V2.6, V3 delivers improved motion fidelity, better character consistency, and higher output quality at a higher credit cost.

Tool Identifier

kling-v3-motion-control-api

Parameters

Required Parameters

image

  • Type: string (required)
  • Description: Character image URL to be animated with the reference motion
  • Format: Must be a complete HTTP/HTTPS URL (e.g., https://cdn.sjinn.ai/uploads/character.jpg)
  • Validation: Must be a non-empty string

video

  • Type: string (required)
  • Description: Reference video URL containing the motion to transfer
  • Format: Must be a complete HTTP/HTTPS URL (e.g., https://cdn.sjinn.ai/uploads/motion.mp4)
  • Validation: Must be a non-empty string
  • Limits: Video duration must not exceed 30 seconds

Optional Parameters

prompt

  • Type: string (optional)
  • Description: Text description to guide the motion transfer style and output quality
  • Example: "A person performing a smooth dance with expressive gestures"

Pricing

  • Credits Consumed: 130 credits per second × video duration (rounded up)
  • Examples: 5s video = 650 credits, 10s video = 1,300 credits, 30s video = 3,900 credits
  • Membership Requirement: Member only

Request Examples

Basic Usage

curl -X POST https://sjinn.ai/api/un-api/create_tool_task \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool_type": "kling-v3-motion-control-api",
    "input": {
      "image": "https://cdn.sjinn.ai/uploads/character.jpg",
      "video": "https://cdn.sjinn.ai/uploads/dance-motion.mp4"
    }
  }'

With Prompt

curl -X POST https://sjinn.ai/api/un-api/create_tool_task \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool_type": "kling-v3-motion-control-api",
    "input": {
      "image": "https://cdn.sjinn.ai/uploads/character.jpg",
      "video": "https://cdn.sjinn.ai/uploads/dance-motion.mp4",
      "prompt": "A person performing a smooth dance with expressive gestures"
    }
  }'

Using JavaScript

const response = await fetch('https://sjinn.ai/api/un-api/create_tool_task', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    tool_type: 'kling-v3-motion-control-api',
    input: {
      image: 'https://cdn.sjinn.ai/uploads/character.jpg',
      video: 'https://cdn.sjinn.ai/uploads/dance-motion.mp4',
      prompt: 'A person performing a smooth dance with expressive gestures',
    },
  }),
});

const result = await response.json();
console.log('Task ID:', result.data.task_id);

Using Python

import requests

url = 'https://sjinn.ai/api/un-api/create_tool_task'
headers = {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
}
data = {
    'tool_type': 'kling-v3-motion-control-api',
    'input': {
        'image': 'https://cdn.sjinn.ai/uploads/character.jpg',
        'video': 'https://cdn.sjinn.ai/uploads/dance-motion.mp4',
        'prompt': 'A person performing a smooth dance with expressive gestures'
    }
}

response = requests.post(url, json=data, headers=headers)
result = response.json()
print('Task ID:', result['data']['task_id'])

Response Examples

Success Response

{
  "success": true,
  "errorMsg": "",
  "error_code": 0,
  "data": {
    "task_id": "550e8400-e29b-41d4-a716-446655440000"
  }
}

Error Response

{
  "success": false,
  "errorMsg": "video is required",
  "error_code": 400
}
{
  "success": false,
  "errorMsg": "Video duration exceeds maximum limit of 30 seconds, your video duration is 45",
  "error_code": 400
}
{
  "success": false,
  "errorMsg": "Failed to create task, credits have been refunded",
  "error_code": 101
}

Kling V3 vs V2.6

| Feature | V2.6 | V3 | |---------|------|----| | Credits per second | 85 | 130 | | Motion fidelity | Good | Enhanced | | Character consistency | Standard | Improved | | Output quality | High | Higher |

Best Practices

  1. When to Use V3: Choose V3 for final production output where quality matters most. Use V2.6 for rapid prototyping and testing.
  2. Image Quality: Use a clear, well-lit character image. Full-body or upper-body shots work best for motion transfer.
  3. Reference Video: Choose a reference video with clear, distinct movements. Avoid videos with rapid camera shaking or heavy occlusion.
  4. Duration Awareness: V3 costs ~53% more than V2.6 per second. Test with V2.6 first, then switch to V3 for the final version.
  5. Prompt Usage: Adding a prompt can improve output quality by guiding the style of motion transfer, though it is optional.
  6. Video Duration Limit: The reference video must be 30 seconds or shorter. Trim longer videos before submitting.
  7. Generation Time: Typical generation takes 3-10 minutes depending on video duration.

Related Links