Get Kling 4.0 Voices

October 15, 2026

Table of contents

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

This endpoint lists the Kling 4.0 voices available to your account: your saved voices first, then Kling’s official voices. Use a voice id or name as voice_1, voice_2 or voice_3 in POST /videos/omni with omni_version: v4.

Some voices have samples shorter than 3 seconds, which Kling does not accept — POST /videos/omni with such a voice returns a 400 error.

https://api.useapi.net/v1/kling/videos/voices?…

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.

Notes:

  • Saved voices have source: USER and Kling’s official voices have source: TTS_OFFICIAL
  • audioUrl is the voice sample, so you can listen to a voice before you use it
Responses
  • 200 OK

    {
      "voices": [
        {
          "id": "English_captivating_female1",
          "name": "Emma",
          "source": "TTS_OFFICIAL",
          "audioUrl": "https://v15-kling.klingai.com/bs2/upload-ylab-stunt-sgp/kling/tts/emma.mp3?x-kcdn-pid=112372",
          "coverUrl": "https://s15-kling.klingai.com/kimg/.../cover.png",
          "emotions": [
            { "name": "Neutral", "key": "neutral", "enable": true },
            { "name": "Happy", "key": "happy", "enable": true },
            { "name": "Angry", "key": "angry", "enable": true },
            { "name": "Sad", "key": "sad", "enable": true },
            { "name": "Fearful", "key": "fearful", "enable": true },
            { "name": "Disgusted", "key": "disgusted", "enable": true },
            { "name": "Surprised", "key": "surprised", "enable": true }
          ]
        },
        {
          "id": "English_CalmWoman",
          "name": "Diana",
          "source": "TTS_OFFICIAL",
          "audioUrl": "https://v15-kling.klingai.com/bs2/upload-ylab-stunt-sgp/kling/tts/diana.mp3?x-kcdn-pid=112372",
          "coverUrl": "https://s15-kling.klingai.com/kimg/.../cover.png",
          "emotions": [
            { "name": "Neutral", "key": "neutral", "enable": true },
            { "name": "Happy", "key": "happy", "enable": true },
            { "name": "Angry", "key": "angry", "enable": true },
            { "name": "Sad", "key": "sad", "enable": true },
            { "name": "Fearful", "key": "fearful", "enable": true },
            { "name": "Disgusted", "key": "disgusted", "enable": true },
            { "name": "Surprised", "key": "surprised", "enable": true }
          ]
        }
      ]
    }
    
  • 401 Unauthorized

    {
      "error": "Unauthorized",
      "code": 401
    }
    
Model
{ // TypeScript, all fields are optional
  voices: Array<{
    id: string                  // Use as voice_1 … voice_3 in POST /videos/omni (or use name)
    name: string                // Voice name, e.g. "Emma"
    source: 'USER' | 'TTS_OFFICIAL' // USER = your saved voice, TTS_OFFICIAL = Kling's official voice
    audioUrl: string            // Voice sample
    coverUrl?: string           // Cover image
    emotions?: Array<{
      name: string
      key: string
      enable: boolean
    }>
  }>
}
Examples
  • curl -X GET "https://api.useapi.net/v1/kling/videos/[email protected]" \
       -H "Authorization: Bearer ..."
    
  • const token = "API token";
    const email = "Previously configured account email";
    const apiUrl = "https://api.useapi.net/v1/kling/videos/voices";
    const response = await fetch(`${apiUrl}?email=${email}`, {
      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/voices"
    headers = {
        "Authorization" : f"Bearer {token}"
    }
    params = {
        "email": email
    }
    response = requests.get(apiUrl, headers=headers, params=params)
    print(response, response.json())
    
Try It