
Kling v2.6 Pro Avatar API by Kuaishou
Kling V2 AI Avatar Pro generates high-quality AI avatar videos with clean detail, stable motion, and strong identity consistency—ideal for profiles, intros, and social content.
INPUT
OUTPUT
IdleYour request will cost $0.095 per run. For $10 you can run this model approximately 105 times.
Here's what you can do next:
Code Example
import requests
import time
# Step 1: Start video generation
generate_url = "https://api.atlascloud.ai/api/v1/model/generateVideo"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer $ATLASCLOUD_API_KEY"
}
data = {
"model": "kwaivgi/kling-v2.6-pro/avatar",
"prompt": "A beautiful sunset over the ocean with gentle waves",
"width": 512,
"height": 512,
"duration": 3,
"fps": 24,
}
generate_response = requests.post(generate_url, headers=headers, json=data)
generate_result = generate_response.json()
prediction_id = generate_result["data"]["id"]
# Step 2: Poll for result
poll_url = f"https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}"
def check_status():
while True:
response = requests.get(poll_url, headers={"Authorization": "Bearer $ATLASCLOUD_API_KEY"})
result = response.json()
if result["data"]["status"] in ["completed", "succeeded"]:
print("Generated video:", result["data"]["outputs"][0])
return result["data"]["outputs"][0]
elif result["data"]["status"] == "failed":
raise Exception(result["data"]["error"] or "Generation failed")
else:
# Still processing, wait 2 seconds
time.sleep(2)
video_url = check_status()Install
Install the required package for your language.
pip install requestsAuthentication
All API requests require authentication via an API key. You can get your API key from the Atlas Cloud dashboard.
export ATLASCLOUD_API_KEY="your-api-key-here"HTTP Headers
import os
API_KEY = os.environ.get("ATLASCLOUD_API_KEY")
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {API_KEY}"
}Never expose your API key in client-side code or public repositories. Use environment variables or a backend proxy instead.
Submit a request
import requests
url = "https://api.atlascloud.ai/api/v1/model/generateVideo"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer $ATLASCLOUD_API_KEY"
}
data = {
"model": "your-model",
"prompt": "A beautiful landscape"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())Submit a Request
Submit an asynchronous generation request. The API returns a prediction ID that you can use to check the status and retrieve the result.
/api/v1/model/generateVideoRequest Body
import requests
url = "https://api.atlascloud.ai/api/v1/model/generateVideo"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer $ATLASCLOUD_API_KEY"
}
data = {
"model": "kwaivgi/kling-v2.6-pro/avatar",
"input": {
"prompt": "A beautiful sunset over the ocean with gentle waves"
}
}
response = requests.post(url, headers=headers, json=data)
result = response.json()
print(f"Prediction ID: {result['id']}")
print(f"Status: {result['status']}")Response
{
"id": "pred_abc123",
"status": "processing",
"model": "model-name",
"created_at": "2025-01-01T00:00:00Z"
}Check Status
Poll the prediction endpoint to check the current status of your request.
/api/v1/model/prediction/{prediction_id}Polling Example
import requests
import time
prediction_id = "pred_abc123"
url = f"https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}"
headers = { "Authorization": "Bearer $ATLASCLOUD_API_KEY" }
while True:
response = requests.get(url, headers=headers)
result = response.json()
status = result["data"]["status"]
print(f"Status: {status}")
if status in ["completed", "succeeded"]:
output_url = result["data"]["outputs"][0]
print(f"Output URL: {output_url}")
break
elif status == "failed":
print(f"Error: {result['data'].get('error', 'Unknown')}")
break
time.sleep(3)Status Values
processingThe request is still being processed.completedGeneration is complete. Outputs are available.succeededGeneration succeeded. Outputs are available.failedGeneration failed. Check the error field.Completed Response
{
"data": {
"id": "pred_abc123",
"status": "completed",
"outputs": [
"https://storage.atlascloud.ai/outputs/result.mp4"
],
"metrics": {
"predict_time": 45.2
},
"created_at": "2025-01-01T00:00:00Z",
"completed_at": "2025-01-01T00:00:10Z"
}
}Upload Files
Upload files to Atlas Cloud storage and get a URL you can use in your API requests. Use multipart/form-data to upload.
/api/v1/model/uploadMediaUpload Example
import requests
url = "https://api.atlascloud.ai/api/v1/model/uploadMedia"
headers = { "Authorization": "Bearer $ATLASCLOUD_API_KEY" }
with open("image.png", "rb") as f:
files = {"file": ("image.png", f, "image/png")}
response = requests.post(url, headers=headers, files=files)
result = response.json()
download_url = result["data"]["download_url"]
print(f"File URL: {download_url}")Response
{
"data": {
"download_url": "https://storage.atlascloud.ai/uploads/abc123/image.png",
"file_name": "image.png",
"content_type": "image/png",
"size": 1024000
}
}Input Schema
The following parameters are accepted in the request body.
No parameters available.
Example Request Body
{
"model": "kwaivgi/kling-v2.6-pro/avatar"
}Output Schema
The API returns a prediction response with the generated output URLs.
Example Response
{
"id": "pred_abc123",
"status": "completed",
"model": "model-name",
"outputs": [
"https://storage.atlascloud.ai/outputs/result.mp4"
],
"metrics": {
"predict_time": 45.2
},
"created_at": "2025-01-01T00:00:00Z",
"completed_at": "2025-01-01T00:00:10Z"
}Atlas Cloud Skills
Atlas Cloud Skills integrates 300+ AI models directly into your AI coding assistant. One command to install, then use natural language to generate images, videos, and chat with LLMs.
Supported Clients
Install
npx skills add AtlasCloudAI/atlas-cloud-skillsSetup API Key
Get your API key from the Atlas Cloud dashboard and set it as an environment variable.
export ATLASCLOUD_API_KEY="your-api-key-here"Capabilities
Once installed, you can use natural language in your AI assistant to access all Atlas Cloud models.
MCP Server
Atlas Cloud MCP Server connects your IDE with 300+ AI models via the Model Context Protocol. Works with any MCP-compatible client.
Supported Clients
Install
npx -y atlascloud-mcpConfiguration
Add the following configuration to your IDE's MCP settings file.
{
"mcpServers": {
"atlascloud": {
"command": "npx",
"args": [
"-y",
"atlascloud-mcp"
],
"env": {
"ATLASCLOUD_API_KEY": "your-api-key-here"
}
}
}
}Available Tools
API Schema
Schema not availableNo examples available
Please log in to view request history
You need to be logged in to access your model request history.
Log InKling-v2-ai-avatar-pro — Talking Avatar from Image + Audio
kling-v2-ai-avatar-pro turns a single portrait into a lip-synced talking-head video driven by your own audio. Upload a clear face image, provide a narration or dialogue track, and the model generates a vertical HD avatar clip that speaks and moves naturally on camera.
🌟 Highlights
- Audio-driven performance – Uses your uploaded audio as-is (no TTS), keeping timing, pauses and emotion.
- Photo-real talking avatar – Animates the face, eyes and head while preserving the identity from the reference image.
- One-shot setup – Just an image + audio; no need for video capture or motion recording.
- Portrait-ready output – Produces social-ready vertical video that fits Reels, TikTok, Shorts and story formats.
- Prompt-guided styling (optional) – Use prompt to hint at camera feel or mood (e.g. “soft studio lighting, subtle head movement, gentle smile”).
🔧 Parameters
- audio* – Required. The voice track that drives lip-sync and timing (URL or upload).
- image* – Required. A clear, front-facing portrait of the person to animate.
- prompt – Optional text describing style, expression or camera feel. If omitted, the model uses a neutral talking-head style.
Tip: Use a well-lit, unobstructed face (no heavy motion blur, minimal occlusion) for best identity preservation.
🚀 How to Use
- Upload audio
Clean mono/stereo track, with minimal background noise. Make sure the final edited length matches what you want in the video. 2. Upload image
Front or 3/4 view, eyes visible, face not cropped. The avatar’s identity and pose come from this image. 3. (Optional) Add a prompt
Guide expression or style, e.g.:
“confident presenter in a tech promo, subtle head nods” “friendly customer service tone, warm expression” 4. Run the model
The video length is automatically derived from the audio duration. Download the generated talking-head clip and drop it into your editor or directly onto social platforms.
💰 Pricing
Billing is based on audio duration, with a minimum of 5 seconds.
| Audio length (s) | Billed seconds | Price (USD) |
|---|---|---|
| 0–5 | 5 | 0.56 |
| 10 | 10 | 1.12 |
| 20 | 20 | 2.24 |
| 30 | 30 | 3.36 |
| 60 | 60 | 6.72 |
Any clip shorter than 5 seconds is still billed as 5 seconds.
🧠 Tips for Best Results
- Edit your audio first – Remove mistakes, long silences and background noise before upload.
- Match tone to use case – Calm, even delivery for corporate avatars; more expressive reads for ads or UGC.
- Keep framing consistent – Use images with similar head size and framing across a campaign for a unified look.
- Test a few portraits – Small changes in the reference image (lighting, angle) can noticeably change the avatar's feel.






