# kwaivgi/kling-v2/ai-avatar > Empower your applications with Kling AI Avatar. Instantly generate cinematic, hyper-detailed AI avatar videos for profiles and social media that strictly obey your prompts. Our ready-to-integrate API guarantees peak performance with absolutely zero cold starts. ## Overview - **Endpoint**: `https://api.shortapi.ai/api/v1/job/create` - **Model ID**: `kwaivgi/kling-v2/ai-avatar` - **Category**: image-to-video - **Kind**: inference ## Pricing Standard: $0.048/sec, Pro: $0.098/sec. For more details, please check our pricing page. ## API Information This model can be used via our HTTP API or more conveniently via our client libraries. See the input and output schema below, as well as the usage examples. ### Input Schema The API accepts the following input parameters: - **`image`** (`string`, _required_): Avatar Reference Image - **`sound_file`** (`string`, _required_): Sound File. Supports Base64-encoded audio or accessible audio URL. Accepted formats: .mp3/.wav/.m4a/.aac, max 5MB - **`prompt`** (`string`, _optional_): Positive text prompt. Can be used to define avatar actions, emotions, and camera movements. Cannot exceed 2500 characters - Examples: "An action shot of a black lab swimming..." - **`mode`** (`string`, _optional_): Video generation mode - Default: `std` - Options: "std", "pro" ### Output Schema The API returns a JSON response with a `job_id` for tracking the request status. **Create Job Response:** ```json { "code": 0, "data": { "amount": "0.02", "job_id": "" } } ``` **Query Job Result (when status is 2, meaning succeeded):** ```json { "code": 0, "data": { "status": 2, "result": { "images": [{ "url": "https://..." }] } } } ``` ## Use Example To use this model, make an HTTP POST request to the API endpoint, then poll for results using the returned `job_id`. ### Bash (cURL) ```bash # Step 1: Create a job response=$(curl --request POST \ --url https://api.shortapi.ai/api/v1/job/create \ --header "Authorization: Bearer $SHORTAPI_KEY" \ --header "Content-Type: application/json" \ --data '{ "model": "kwaivgi/kling-v2/ai-avatar", "args": { "image": "https://file.shortapi.ai/assets/examples/kwaivgi/kling-v2/ai-avatar-image.webp", "sound_file": "https://file.shortapi.ai/assets/examples/kwaivgi/kling-v2/ai-avatar-sound_file.mp3" }, "callback_url": "CALLBACK_URL" }') JOB_ID=$(echo "$response" | grep -o '"job_id": *"[^"]*"' | sed 's/"job_id": *//; s/"//g') # Step 2: Poll for results curl --request GET \ --url "https://api.shortapi.ai/api/v1/job/query?id=$JOB_ID" \ --header "Authorization: Bearer $SHORTAPI_KEY" ``` ### JavaScript (Fetch API) ```javascript // Step 1: Create a job const response = await fetch(`https://api.shortapi.ai/api/v1/job/create`, { method: "POST", headers: { "Authorization": `Bearer ${SHORTAPI_KEY}`, "Content-Type": "application/json" }, body: JSON.stringify({ "model": "kwaivgi/kling-v2/ai-avatar", "args": { "image": "https://file.shortapi.ai/assets/examples/kwaivgi/kling-v2/ai-avatar-image.webp", "sound_file": "https://file.shortapi.ai/assets/examples/kwaivgi/kling-v2/ai-avatar-sound_file.mp3" }, "callback_url": "CALLBACK_URL" }) }); const data = await response.json(); const JOB_ID = data.job_id; // Step 2: Poll for results const result = await fetch(`https://api.shortapi.ai/api/v1/job/query?id=${JOB_ID}`, { method: "GET", headers: { "Authorization": `Bearer ${SHORTAPI_KEY}` } }); const resultData = await result.json(); console.log(resultData); ``` ### Python (Requests) ```python import requests # Step 1: Create a job url = "https://api.shortapi.ai/api/v1/job/create" payload = { "model": "kwaivgi/kling-v2/ai-avatar", "args": { "image": "https://file.shortapi.ai/assets/examples/kwaivgi/kling-v2/ai-avatar-image.webp", "sound_file": "https://file.shortapi.ai/assets/examples/kwaivgi/kling-v2/ai-avatar-sound_file.mp3" }, "callback_url": "CALLBACK_URL" } headers = { "Authorization": f"Bearer {SHORTAPI_KEY}", "Content-Type": "application/json" } response = requests.post(url, headers=headers, json=payload) data = response.json() JOB_ID = data.get("job_id") # Step 2: Poll for results result_url = f"https://api.shortapi.ai/api/v1/job/query?id={JOB_ID}" result = requests.get(result_url, headers={"Authorization": f"Bearer {SHORTAPI_KEY}"}) print(result.json()) ```