Retrieve Kling API accounts configuration

April 18, 2025 (October 20, 2026)

Table of contents

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

You can connect several Kling accounts. Generation requests (video, image, avatar video and the other task-based endpoints) sent without email go to one of your healthy accounts that has a free job slot, picked at random, and each account runs at most its own maxJobs jobs at once. If every account is busy, the response is 429. Pass email to pin a job to one account.

Task, asset and voice calls, such as GET tasks/task_id, GET assets and GET videos/voices, need email when you have more than one account. Element and avatar calls without email go to one of your accounts and may not find an item saved on another. Each endpoint page says which kind it is. See Run several Kling accounts.

This endpoint retrieves the complete list of configured API accounts for Kling.

https://api.useapi.net/v1/kling/accounts

Request Headers
Authorization: Bearer {API token}
Content-Type: application/json
# Alternatively you can use multipart/form-data
# Content-Type: multipart/form-data
Responses
  • 200 OK

    {
        "<email #1>": {
            "email": "<email #1>",
            "authMode": "password",
            "session": {
                "userId": 12345,
                "ExpireTime": 123456789,
                "ExpireTimeUTC": "2025-01-01T12:13:14.000Z"
            },
            "maxJobs": 8,
            "password": "…secured…"
        },
        "<email #2>": {
            "email": "<email #2>",
            "authMode": "passToken",
            "session": {
                "userId": 67890,
                "ExpireTime": 123456789,
                "ExpireTimeUTC": "2025-01-01T12:13:14.000Z"
            },
            "maxJobs": 3,
            "password": "…secured…"
        }
    }
    

    authMode is password for accounts added with email + password, or passToken for accounts connected from the browser (see Setup Kling). The passToken, did, and password values are never returned.

  • 401 Unauthorized

    {
      "error": "Unauthorized",
      "code": 401
    }
    
  • 404 Not Found

    Configuration not found. To create configuration use POST /accounts.

Model
{ // TypeScript, all fields are optional
  [email: string]: {
        email: string
        authMode: "password" | "passToken"
        session: {
            userId: number
            ExpireTime: number
            ExpireTimeUTC: string
        }
        maxJobs: number
        password: string
    }
}
Examples
  • curl https://api.useapi.net/v1/kling/accounts \
       -H "Accept: application/json" \
       -H "Authorization: Bearer …" 
    
  • const token = "API token";
    const apiUrl = "https://api.useapi.net/v1/kling/accounts"; 
    const response = await fetch(apiUrl, {
      headers: {
        "Authorization": `Bearer ${token}`,
      },
    });
    const result = await response.json();
    console.log("response", {response, result});
    
  • import requests
    token = "API token"
    apiUrl = "https://api.useapi.net/v1/kling/accounts"
    headers = {
        "Content-Type": "application/json", 
        "Authorization" : f"Bearer {token}"
    }
    response = requests.get(apiUrl, headers=headers)
    print(response, response.json())
    
Try It