Get Available Motions
October 7, 2025
Table of contents
This endpoint retrieves a list of available motion templates that can be used with the POST /videos/motion-create endpoint to apply motions to images.
https://api.useapi.net/v1/kling/videos/motions?…
Request Headers
Authorization: Bearer {API token}
API tokenis required, see Setup useapi.net for details.
Query Parameters
-
emailis optional when only one account configured. However, if you have multiple accounts configured, this parameter becomes required. -
mineis optional, boolean value. Whentrue, retrieves user-uploaded motions (created via POST /videos/motion-upload). Whenfalseor omitted, retrieves official Kling motion templates. -
pageNumis optional, integer starting from1. Only applies whenmine=true. Specifies the page number for pagination.
Default:1 -
pageSizeis optional, integer between1and100. Only applies whenmine=true. Specifies the number of results per page.
Default:40
Notes:
- Official motions have negative
workIdvalues and include atagfield for categorization - User-uploaded motions have positive
workIdvalues and include ataskIdfield - Use the
workIdvalue when making requests to the motion-create endpoint - Pagination parameters (
pageNum,pageSize) only work withmine=true - To delete a user-uploaded motion, use DELETE /tasks/
task_idwith the motion’staskId
Responses
-
Official Motions (
mine=falseor omitted):[ { "workName": "Walking", "workId": -123456, "official": true, "tag": "basic", "resource": { "resource": "https://s21-kling.klingai.com/...motion.mp4" }, "cover": { "resource": "https://s21-kling.klingai.com/...cover.jpg" }, "extData": { "output_binary": "https://s21-kling.klingai.com/...binary.zip", "bvh_binary": "https://s21-kling.klingai.com/...bvh.zip" } } ]User-uploaded Motions (
mine=true):[ { "workName": "Custom Dance", "workId": 987654321, "taskId": 987654320, "official": false, "resource": { "resource": "https://s21-kling.klingai.com/...motion.mp4" }, "cover": { "resource": "https://s21-kling.klingai.com/...cover.jpg" }, "extData": { "output_binary": "https://s21-kling.klingai.com/...binary.zip", "bvh_binary": "https://s21-kling.klingai.com/...bvh.zip" } } ] -
{ "error": "Unauthorized", "code": 401 }
Model
{ // TypeScript, all fields are optional
workName: string // Display name of the motion
workId: number // Motion identifier (negative for official, positive for user)
taskId?: number // Task ID (only present for user-uploaded motions)
official: boolean // Whether this is an official Kling motion
tag?: string // Category tag (only for official motions)
resource: {
resource: string // URL to the motion video preview
}
cover: {
resource: string // URL to the motion cover image
}
extData: {
output_binary: string // URL to the motion binary data
bvh_binary: string // URL to the BVH (motion capture) data
}
}
Examples
-
# Get official motions curl -X GET "https://api.useapi.net/v1/kling/videos/[email protected]" \ -H "Authorization: Bearer …" # Get user-uploaded motions curl -X GET "https://api.useapi.net/v1/kling/videos/[email protected]&mine=true&pageNum=1&pageSize=20" \ -H "Authorization: Bearer …" -
const token = "API token"; const email = "Previously configured account email"; const mine = false; // false for official, true for user-uploaded const apiUrl = "https://api.useapi.net/v1/kling/videos/motions"; const response = await fetch(`${apiUrl}?email=${email}&mine=${mine}`, { method: "GET", headers: { "Authorization": `Bearer ${token}`, } }); const result = await response.json(); console.log("response", {response, result}); -
import requests token = "API token" email = "Previously configured account email" apiUrl = "https://api.useapi.net/v1/kling/videos/motions" headers = { "Authorization" : f"Bearer {token}" } params = { "email": email, "mine": False # False for official, True for user-uploaded } response = requests.get(apiUrl, headers=headers, params=params) print(response, response.json())