Kling Talking Photo API

Turn one photo + one audio into a talking video in a single call. The service internally chains two steps: image2video (animate the still photo) then lip-sync (drive the mouth with the audio).

  • Endpoint: POST https://api.acedata.cloud/kling/talking-photo
  • Pricing: by duration — 5s 16.45 Credits, 10s 30.45 Credits (image2video + lip-sync bundle)

Headers

Field Value
authorization Bearer ${API_KEY}
content-type application/json

Request parameters

Field Type Required Default Description
image_url string yes Public URL of the portrait image; a clear frontal face works best
audio_url string yes Public URL of the driving audio (.mp3/.wav/.m4a/.aac, <=5MB)
prompt string no Motion/expression hint for the animation step
model string no kling-v2-1-master Kling model for the animation step
duration integer no 5 Video length (5 or 10 seconds)
mode string no pro Animation quality (std/pro)
callback_url string no If set (or async=true), returns task_id and calls back
async boolean no false Async mode; poll via /kling/tasks or receive callback

Request example

curl -X POST 'https://api.acedata.cloud/kling/talking-photo' \
  -H 'authorization: Bearer ${API_KEY}' \
  -H 'content-type: application/json' \
  -d '{
    "image_url": "https://cdn.acedata.cloud/4hfydw.jpg",
    "audio_url": "https://cdn.acedata.cloud/6f7d62b18b.wav",
    "duration": 5
  }'

Response example

{
  "success": true,
  "task_id": "0c0b4d3a-2f1e-4a6b-9c2d-2b3c4d5e6f70",
  "video_id": "895055968777281546",
  "video_url": "https://platform2.cdn.acedata.cloud/kling/07a3ec65-9f7e-4a09-b7b7-282684082527.mp4",
  "source_video_url": "https://platform2.cdn.acedata.cloud/kling/163ac822-1a15-4f5e-a2eb-465154df15af.mp4",
  "duration": 5,
  "state": "succeed"
}

Notes

  • Use a clear, frontal, single-person photo.
  • Keep the audio no longer than the video (5s/10s).
  • Billed on success; validation failures (4xx) are not billed.
  • Generation takes ~4–6 minutes (two steps); prefer async=true + /kling/tasks polling.