Platform
Checking your session…
← All models

Input types: Text, Image, VideoOutput: Video

KlingKling Motion Control 2.6

Transfer body movement from a reference video onto a portrait photo.

Image + VideoMotion Transfer2.6

Use it in code

Use it with AI

Install the SDK

The SDK targets Node 20+ and ships with TypeScript types.

npm install @picsart/ai-sdk

Authenticate

Create a client once with your API key — it's sent as a bearer token on every request.

import { createClient } from '@picsart/ai-sdk';

const ai = createClient({
  apiKey: process.env.PICSART_API_KEY, // sent as: Authorization: Bearer <key>
  apiUrl: 'https://api.picsart.com',
});

Run the model

Call the model with its parameters. This example uses the required ones.

import { createClient } from '@picsart/ai-sdk';

const ai = createClient({
  apiKey: process.env.PICSART_API_KEY,
  apiUrl: 'https://api.picsart.com',
});

const result = await ai.generate('kling-motion-control', {
  prompt: "A serene mountain lake at golden hour, ultra detailed",
  imageUrls: [
    "https://cdn.example.com/input.jpg"
  ],
  videoUrl: "https://cdn.example.com/input.mp4"
});

console.log(result.url); // video URL

Parameters

6 parameters. Required ones must be supplied; the rest fall back to their defaults. The API takes these same names over HTTP.

ParameterTypeRequiredDefaultDetails
prompt
Prompt
textno—max 2500 chars
renderingSpeedenumnostdstd, pro
characterOrientation
Character Orientation
enumnovideoimage, video
keepOriginalSound
Keep Original Sound
enumnoyesyes, no
imageUrls
Person Photo (upper body)
file (image[])yes——
videoUrl
Motion Reference Video
file (video)yes—max 30s

Output

generate() resolves once the job completes. A video URL.

Result
{
  "items": [
    {
      "url": "https://cdn.picsart.com/…/result"
    }
  ],
  "model": "kling-motion-control"
}