Download Kling assets without watermarks

April 18, 2025

Table of contents

  1. Request Headers
  2. Query Parameters
  3. Responses
  4. Model
  5. Examples
  6. Try It

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}
Query Parameters
  • email is optional when only one account configured.
    However, if you have multiple accounts configured, this parameter becomes required.

  • workIds is 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 the workId field in the works array returned by the GET /assets, GET /tasks or GET /tasks/task_id endpoint.

Responses
  • 200 OK

    {
      "cdnUrl": "https://kling.klingai.com/.../download_result.zip",
      "status": "success"
    }
    

    Note: If a single workId is provided, the cdnUrl will point to an actual asset file. If multiple workIds are provided, the cdnUrl will point to a .zip file containing all requested assets.

  • 400 Bad Request

    {
      "error": "Invalid parameters"
    }
    
  • 401 Unauthorized

    {
      "error": "Unauthorized",
      "code": 401
    }
    
Model
{ // TypeScript
  cdnUrl: string // URL to download the asset(s), .zip for multiple workIds
  status: string // "success" when successful
}
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())
    
Try It