Download Kling assets without watermarks
April 18, 2025 (October 16, 2026)
Table of contents
This endpoint allows you to download assets from your paid Kling account without watermarks by providing the work IDs.
https://api.useapi.net/v1/kling/assets/download?…
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. -
workIdsis required, specify the IDs of works to download.
Can be a single numeric string or a comma-separated list of numeric strings (e.g., “123456789” or “123456789,987654321”).
These IDs can be obtained from theworkIdfield in theworksarray returned by the GET /assets, GET /tasks or GET /tasks/task_idendpoint. -
fileTypesis optional, comma-separated file types to download (e.g., “MP4” or “MP4,MOV”).
Supported file types:MP4,MOV,MP3,WAV,PNG. A video downloads asMP4orMOV, an image asPNG.
If omitted, the first type the work has is used:MP4for a video,PNGfor an image,MP3for audio. A type the work does not have answers400.
Note: A single workId with a single file type returns a link to the file itself, ready at once. Several workIds or several file types return a link to a .zip.
Responses
-
{ "cdnUrl": "https://v15-kling.klingai.com/klingai-stream-sgp/kling/download/MzI0MTU5…?x-kcdn-pid=112372", "status": "success", "fileName": "kling_20261017_Text_to_Video_A_golden_r_1499_0.mp4", "streaming": false, "fileSize": null } -
{ "error": "Invalid parameters" } -
{ "error": "Unauthorized", "code": 401 }
Model
{ // TypeScript
cdnUrl: string // URL of the file, or of a .zip for several workIds or file types
status: string // "success" when successful
fileName: string // e.g. kling_20261017_Text_to_Video_..._0.mp4, or download_result.zip
streaming: boolean
fileSize: number | null
}
Examples
-
curl "https://api.useapi.net/v1/kling/assets/[email protected]&workIds=123456789,987654321" \ -H "Accept: application/json" \ -H "Authorization: Bearer …" -
const token = "API token"; const email = "Previously configured account email"; const workIds = "123456789,987654321"; const apiUrl = `https://api.useapi.net/v1/kling/assets/download?email=${email}&workIds=${workIds}`; const response = await fetch(apiUrl, { headers: { "Authorization": `Bearer ${token}`, }, }); const result = await response.json(); console.log("response", {response, result}); -
import requests token = "API token" email = "Previously configured account email" workIds = "123456789,987654321" apiUrl = f"https://api.useapi.net/v1/kling/assets/download?email={email}&workIds={workIds}" headers = { "Authorization" : f"Bearer {token}" } response = requests.get(apiUrl, headers=headers) print(response, response.json())