Create element
January 12, 2026
Table of contents
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
API tokenis required, see Setup useapi.net for details.
Request Body
{
"email": "[email protected]",
"name": "MyCharacter",
"coverImage": "https://s21-kling.klingai.com/ai-platform/xxx/xxx.jpg",
"tag": "character"
}
-
emailis optional when only one account configured. However, if you have multiple accounts configured, this parameter becomes required. -
nameis 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”). -
coverImageis required, the URL of the primary image for the element. You can upload images using POST /assets and use the returned URL here. -
descriptionis optional, a text description of the element. Maximum length: 100 characters. If not provided, a description is automatically generated from the image using AI. -
tagis optional, the category tag for the element. Use GET /elements/tags to get available tags. Accepts eitheridortagKey(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:
extraImage1is optional, URL of first additional view.extraImage2is optional, URL of second additional view.extraImage3is optional, URL of third additional view.
Maximum 3 secondary images allowed. Cannot be used together with generateViews.
Auto-Generate Views
generateViewsis optional, set totrueto 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 withextraImage1/2/3.
Responses
-
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 } -
{ "error": "<error message>" } -
{ "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())