Create element

January 12, 2026

Table of contents

  1. Request Headers
  2. Request Body
    1. Secondary Images (Manual)
    2. Auto-Generate Views
  3. Responses
  4. Model
  5. Usage After Creation
  6. Examples
  7. Try It

This endpoint creates one or more elements from a cover image. Elements are saved character/object references that can be reused across multiple generations in POST /images/omni and POST /videos/omni using the @element_N syntax.

Key feature: The generateViews option uses AI to create multiple variations of your element with different angles, which can produce up to 3 separate elements from a single image.

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

Request Headers
Authorization: Bearer {API token}
Content-Type: application/json
Request Body
{
  "email": "[email protected]",
  "name": "MyCharacter",
  "coverImage": "https://s21-kling.klingai.com/ai-platform/xxx/xxx.jpg",
  "tag": "character"
}
  • email is optional when only one account configured. However, if you have multiple accounts configured, this parameter becomes required.

  • name is required, the base name for the element. Maximum length: 15 characters. A 5-character random suffix is automatically appended (e.g., “MyChar” becomes “MyChar ABC12”).

  • coverImage is required, the URL of the primary image for the element. You can upload images using POST /assets and use the returned URL here.

  • description is optional, a text description of the element. Maximum length: 100 characters. If not provided, a description is automatically generated from the image using AI.

  • tag is optional, the category tag for the element. Use GET /elements/tags to get available tags. Accepts either id or tagKey (e.g., “1” or “character”). If not provided, the tag is automatically detected from the image using AI.

Secondary Images (Manual)

You can optionally provide additional angle/view images:

  • extraImage1 is optional, URL of first additional view.
  • extraImage2 is optional, URL of second additional view.
  • extraImage3 is optional, URL of third additional view.

Maximum 3 secondary images allowed. Cannot be used together with generateViews.

Auto-Generate Views
  • generateViews is optional, set to true to have AI generate 3 multi-angle variations. When enabled, the system generates different views of your element automatically. This can create up to 3 separate elements, one for each variation group. Cannot be used together with extraImage1/2/3.
Responses
  • 200 OK

    Standard response (without generateViews):

    {
      "elements": [
        {
          "id": "u_300171730302481",
          "name": "MyCharacter ABC12",
          "coverImage": "https://s21-kling.klingai.com/ai-platform/.../cover.jpg",
          "description": "AI-generated description of the character",
          "tag": {
            "id": "1",
            "tagKey": "character",
            "tagDesc": "Character"
          },
          "imageResources": [
            "https://s21-kling.klingai.com/ai-platform/.../cover.jpg"
          ]
        }
      ],
      "count": 1
    }
    

    Response with generateViews (multiple elements):

    {
      "elements": [
        {
          "id": "u_300171730302481",
          "name": "MyCharacter ABC12",
          "coverImage": "https://s21-kling.klingai.com/ai-platform/.../cover.jpg",
          "description": "AI-generated description",
          "tag": {
            "id": "1",
            "tagKey": "character",
            "tagDesc": "Character"
          },
          "imageResources": [
            "https://s21-kling.klingai.com/ai-platform/.../cover.jpg",
            "https://s21-kling.klingai.com/ai-platform/.../view1.jpg",
            "https://s21-kling.klingai.com/ai-platform/.../view2.jpg",
            "https://s21-kling.klingai.com/ai-platform/.../view3.jpg"
          ]
        },
        {
          "id": "u_300171730302482",
          "name": "MyCharacter DEF34",
          "coverImage": "https://s21-kling.klingai.com/ai-platform/.../cover2.jpg",
          "description": "AI-generated description",
          "tag": {
            "id": "1",
            "tagKey": "character",
            "tagDesc": "Character"
          },
          "imageResources": [
            "https://s21-kling.klingai.com/ai-platform/.../cover2.jpg",
            "https://s21-kling.klingai.com/ai-platform/.../view4.jpg",
            "https://s21-kling.klingai.com/ai-platform/.../view5.jpg"
          ]
        }
      ],
      "count": 2
    }
    
  • 400 Bad Request

    {
      "error": "<error message>"
    }
    
  • 401 Unauthorized

    {
      "error": "Unauthorized",
      "code": 401
    }
    
Model
{ // TypeScript, all fields are optional
  elements: {
    id: string
    name: string
    coverImage: string
    description: string
    tag: {
      id: string
      tagKey: string
      tagDesc: string
    }
    imageResources: string[]
  }[]
  count: number
}
Usage After Creation

Once created, you can use element IDs in POST /images/omni and POST /videos/omni:

{
  "prompt": "Character @element_1 walking through a beautiful garden",
  "element_1": "u_300171730302481"
}
Examples
  • curl -X POST "https://api.useapi.net/v1/kling/elements" \
       -H "Content-Type: application/json" \
       -H "Authorization: Bearer ..." \
       -d '{
         "email": "[email protected]",
         "name": "FashionLady",
         "coverImage": "https://s21-kling.klingai.com/ai-platform/xxx/xxx.jpg",
         "tag": "character"
       }'
    
  • const token = "API token";
    const email = "Previously configured account email";
    const apiUrl = "https://api.useapi.net/v1/kling/elements";
    const response = await fetch(apiUrl, {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        "Authorization": `Bearer ${token}`,
      },
      body: JSON.stringify({
        email: email,
        name: "FashionLady",
        coverImage: "https://s21-kling.klingai.com/ai-platform/xxx/xxx.jpg",
        tag: "character"
      })
    });
    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/elements"
    headers = {
        "Content-Type": "application/json",
        "Authorization" : f"Bearer {token}"
    }
    data = {
        "email": email,
        "name": "FashionLady",
        "coverImage": "https://s21-kling.klingai.com/ai-platform/xxx/xxx.jpg",
        "tag": "character"
    }
    response = requests.post(apiUrl, headers=headers, json=data)
    print(response, response.json())
    
Try It