Skip to content

Task: Video Dubbing - Lip Sync

Overview

  • Method: POST
  • Path: /kling/v1/videos/lip-sync
  • Content-Type: application/json

Authentication

  • Header: Authorization: Bearer <token>

Example Request (main fields)

ParameterTypeRequiredDescription
input.video_idstringConditionalVideo ID, or use input.video_url instead
input.video_urlstringConditionalVideo URL, or use input.video_id instead
input.modestringYestext2video / audio2video
input.textstringConditionalRequired for text2video mode, max 120 characters
input.voice_idstringConditionalRequired for text2video mode, voice style ID
input.voice_languagestringConditionalRequired for text2video mode, zh / en
input.voice_speednumberConditionalRequired for text2video mode, range 0.8-2.0
input.audio_typestringConditionalRequired for audio2video mode, file / url
input.audio_filestringConditionalRequired for audio2video + file, Base64 encoded
input.audio_urlstringConditionalRequired for audio2video + url
callback_urlstringNoCallback URL

curl Example

bash
curl -X POST "https://api.gpt.ge/kling/v1/videos/lip-sync" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxx" \
  -d '{
    "input": {
      "video_id": "c01bbafe-712e-4a00-8265-fe7b4e9b17bf",
      "mode": "text2video",
      "text": "The sky roars loudly, I make a dazzling entrance",
      "voice_id": "chat1_female_new-3",
      "voice_language": "zh"
    }
  }'

Success Response Example (200)

json
{
  "code": 0,
  "message": "SUCCEED",
  "request_id": "ClpejWduJGYAAAAAAUvWMw",
  "data": {
    "task_id": "ClpejWduJGYAAAAAAUvWMw",
    "task_status": "submitted",
    "created_at": 1736058335197,
    "updated_at": 1736058335197,
    "task_result": {
      "images": [],
      "videos": null
    }
  }
}