import requests, time headers = {"Authorization": "Bearer " + AIMLAPI_KEY} job = requests.post( "https://api.aimlapi.com/v2/video/generations", headers=headers, json={ "model": "klingai/avatar-pro", "prompt": "A serene timelapse of clouds over a mountain range" }, ).json() gid = job["id"] while True: res = requests.get(f"https://api.aimlapi.com/v2/video/generations?generation_id={gid}", headers=headers).json() if res.get("status") in ("completed", "error"): break time.sleep(5) print(res["video"]["url"])
const headers = { Authorization: `Bearer ${process.env.AIMLAPI_KEY}`, "Content-Type": "application/json", }; const job = await (await fetch("https://api.aimlapi.com/v2/video/generations", { method: "POST", headers, body: JSON.stringify({ "model": "klingai/avatar-pro", "prompt": "A serene timelapse of clouds over a mountain range" }), })).json(); let res; do { await new Promise((r) => setTimeout(r, 5000)); res = await (await fetch(`https://api.aimlapi.com/v2/video/generations?generation_id=${job.id}`, { headers })).json(); } while (!["completed", "error"].includes(res.status)); console.log(res.video.url);
# submit the generation — the response contains the job "id" curl -X POST https://api.aimlapi.com/v2/video/generations \ -H "Authorization: Bearer $AIMLAPI_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"klingai/avatar-pro","prompt":"A serene timelapse of clouds over a mountain range"}' # then poll until status is "completed" — video.url holds the result curl "https://api.aimlapi.com/v2/video/generations?generation_id={id}" -H "Authorization: Bearer $AIMLAPI_KEY"
OpenAI-compatible — swap the base URL and it works with your existing SDK.
| Type | Price |
|---|---|
| Output | |
| Model | Input | Output | Context | Best for |
|---|---|---|---|---|
Kling Avatar Professional This page | Video generation | |||
| Video generation | ||||
| Video generation | ||||
| Video generation | ||||
| Cinematic video + native audio |
Kling Avatar Professional takes image as input and returns video.
Kling Avatar Professional is priced at $0.1456 / sec.
Kling Avatar Professional is billed per generation — a fixed charge per output rather than by prompt length.
Yes, Kling Avatar Professional accepts image input as well as a text prompt.
Kling Avatar Professional was built by Kling AI.
Use klingai/avatar-pro as the model id on AI/ML API.
Yes. Kling Avatar Professional is served through AI/ML API, so the same key and endpoint format used for other models applies.
Yes, its professional mode is built for higher quality and longer duration than the standard mode.
Yes, it generates video from an avatar image while synchronizing audio.