Skip to content

๐ŸŽฌ Video Model Kling โ€‹

  • 2026.01.30 Added kling-v2-6
  • 2024.09.10 This site now supports the video model kling-video and the image model kling-image
  • kling uses the official API
  • Supports text-to-image image-to-image text-to-video image-to-video
  • Billing is per generation โ€” one video per request
  • How to use: visit https://kling.ddaiai.com and see the Online Test section below

Online Test 1. Visit https://kling.ddaiai.com (if blocked, try changing the subdomain prefix to suibian)


2. If you find it blocked, you can change the address yourself โ€” replace suibian in https://suibian.ddaiai.com with something else, e.g. https://20245.ddaiai.com โ€” all variants work

Configuration โ€‹

kling

Result โ€‹

kling

Billing โ€‹

  • Images are billed per image
  • kling-v1 at 5s duration in std mode is the base price
  • 10s duration costs 2x the base price
  • pro mode costs 3.5x the base price
  • kling-v1-5 and kling-v1-6 cost 2x the base price
  • kling-v2-master costs 10x the base price
  • Prices are multiplied together โ€” e.g. kling-v1-5 at 10s in pro mode = base price x2 x3.5

Billing for kling-v2-6 โ€‹

  • This version costs 2.5x the base price
  • All generations use pro mode at no extra charge
  • With audio: 2x the base price
  • 10s duration costs 2x the base price

API Usage โ€‹

  • The request header must include Authorization: Bearer hk-your-key

1. Image Generation โ€‹

post https://api.openai-hk.com/kling/v1/images/generations

shell
curl --request POST \
  --url https://api.openai-hk.com/kling/v1/images/generations \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'content-type: application/json' \
  --data '{
  "prompt": "ๆผซ็”ปๅ…”ๅญๅƒ่‰",
  "negative_prompt":''
  ,"image":''
  ,"image_fidelity":0.5
  ,"n":1
  ,"aspect_ratio":"4:3"
  ,"notify_hook":""
}'
curl --request POST \
  --url https://api.openai-hk.com/kling/v1/images/generations \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'content-type: application/json' \
  --data '{
  "prompt": "ๆผซ็”ปๅ…”ๅญๅƒ่‰",
  "negative_prompt":''
  ,"image":''
  ,"image_fidelity":0.5
  ,"n":1
  ,"aspect_ratio":"4:3"
  ,"notify_hook":""
}'

Parameter descriptions

ParameterTypeDescription
promptstringPositive text prompt โ€” required, max 500 characters
negative_promptstringNegative text prompt โ€” optional, max 200 characters
imagestringReference image โ€” optional, supports Base64 or image URL, supports .jpg / .jpeg / .png, max 10MB
image_fidelitynumberReference strength for the uploaded image during generation โ€” optional, range: [0,1]
nnumberNumber of images to generate โ€” optional, range: [1,9]
aspect_ratiostringAspect ratio of the generated image โ€” optional, values: 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3
notify_hookstringNotification callback URL โ€” optional, no notification if omitted

Response body

json
{
  "code": 0,
  "message": "ๆˆๅŠŸ",
  "request_id": "Cl6Mq2bftxoAAAAAAA_SxQ",
  "data": {
    "task_id": "Cl6Mq2bftxoAAAAAAA_SxQ",
    "task_status": "submitted",
    "created_at": 1725974776706,
    "updated_at": 1725974776706
  }
}
{
  "code": 0,
  "message": "ๆˆๅŠŸ",
  "request_id": "Cl6Mq2bftxoAAAAAAA_SxQ",
  "data": {
    "task_id": "Cl6Mq2bftxoAAAAAAA_SxQ",
    "task_status": "submitted",
    "created_at": 1725974776706,
    "updated_at": 1725974776706
  }
}

The returned data.task_id is used to query the result.

2. Text-to-Video โ€‹

post https://api.openai-hk.com/kling/v1/videos/text2video

shell
curl --request POST \
  --url https://api.openai-hk.com/kling/v1/videos/text2video \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'content-type: application/json' \
  --data '{
  "prompt": "ๅคช็ฉบ้ฃž่ˆนๅœจ่ˆช่กŒ"
}'
curl --request POST \
  --url https://api.openai-hk.com/kling/v1/videos/text2video \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'content-type: application/json' \
  --data '{
  "prompt": "ๅคช็ฉบ้ฃž่ˆนๅœจ่ˆช่กŒ"
}'

Request body โ€” full format

json
{
  "model_name": "kling-v1",
  "prompt": "ๅคช็ฉบ้ฃž่ˆนๅœจ่ˆช่กŒ",
  "negative_prompt": "",
  "cfg_scale": 0,
  "mode": "std",
  "aspect_ratio": "1:1",
  "duration": "5",
  "camera_control": {
    "type": "simple",
    "config": {
      "horizontal": 1 //only one can be set at a time, and it cannot be 0
      //   "vertical": 1,
      //   "pan": 1,
      //   "tilt": -1,
      //   "roll": 1,
      //   "zoom": -1
    }
  },
  "notify_hook": ""
}
{
  "model_name": "kling-v1",
  "prompt": "ๅคช็ฉบ้ฃž่ˆนๅœจ่ˆช่กŒ",
  "negative_prompt": "",
  "cfg_scale": 0,
  "mode": "std",
  "aspect_ratio": "1:1",
  "duration": "5",
  "camera_control": {
    "type": "simple",
    "config": {
      "horizontal": 1 //only one can be set at a time, and it cannot be 0
      //   "vertical": 1,
      //   "pan": 1,
      //   "tilt": -1,
      //   "roll": 1,
      //   "zoom": -1
    }
  },
  "notify_hook": ""
}

Notes

  • V1.5 does not support text-to-video
ParameterTypeDescription
model_namestringModel name โ€” values: kling-v1 kling-v2-master kling-v1-5 kling-v1-6 kling-v2-6
promptstringPositive text prompt โ€” required, max 500 characters
soundstringDefault is off. off: no audio, on: with audio. Only supported by kling-v2-6; audio costs 2x the base price
negative_promptstringNegative text prompt โ€” optional, max 200 characters
cfg_scalenumberReference strength for the uploaded image during generation โ€” optional, range: [0,1]
modestringGeneration mode โ€” optional, values: std (high performance), pro (high quality); not supported by kling-v2-master
aspect_ratiostringAspect ratio โ€” optional, values: 16:9, 9:16, 1:1
durationstringVideo duration โ€” optional, in seconds
camera_controlObjectProtocol for controlling camera movement โ€” optional; if not specified, auto-matched. As of 20240809: camera control is only supported for 5s + std mode
camera_control.typestringOptional, values: simple down_back forward_up right_turn_forward left_turn_forward โ€” see details below
camera_control.configObjectContains six fields for specifying camera movement or changes
camera_control.config.horizontalintHorizontal dolly โ€” optional, range: [-10, 10]
camera_control.config.verticalintVertical dolly โ€” optional, range: [-10, 10]
camera_control.config.panintHorizontal pan โ€” optional, range: [-10, 10]
camera_control.config.tiltintVertical tilt โ€” optional, range: [-10, 10]
camera_control.config.rollintRoll โ€” optional, range: [-10, 10]
camera_control.config.zoomintZoom โ€” optional, range: [-10, 10]
notify_hookstringNotification callback URL โ€” optional, no notification if omitted

camera_control.type parameter descriptions

ParameterDescription
simpleSimple camera movement โ€” choose one of the six options in "config"
down_backCamera tilts down and pulls back โ€” no config needed
forward_upCamera moves forward and tilts up โ€” no config needed
right_turn_forwardCamera turns right then moves forward โ€” no config needed
left_turn_forwardCamera turns left then moves forward โ€” no config needed

Response body

json
{
  "code": 0,
  "message": "ๆˆๅŠŸ",
  "request_id": "Cl6Mq2bftxoAAAAAAA_SxQ",
  "data": {
    "task_id": "Cl6Mq2bftxoAAAAAAA_SxQ",
    "task_status": "submitted",
    "created_at": 1725974776706,
    "updated_at": 1725974776706
  }
}
{
  "code": 0,
  "message": "ๆˆๅŠŸ",
  "request_id": "Cl6Mq2bftxoAAAAAAA_SxQ",
  "data": {
    "task_id": "Cl6Mq2bftxoAAAAAAA_SxQ",
    "task_status": "submitted",
    "created_at": 1725974776706,
    "updated_at": 1725974776706
  }
}

The returned data.task_id is used to query the result.

3. Image-to-Video โ€” supports V1.5 โ€‹

  • V1.5 model: standard mode (STD) is officially available and supports video generation
  • V1.5 model only supports image-to-video; text-to-video is not yet supported

post https://api.openai-hk.com/kling/v1/videos/image2video

shell
curl --request POST \
  --url https://api.openai-hk.com/kling/v1/videos/image2video \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'content-type: application/json' \
  --data '{
  "image": "https://pics2.baidu.com/feed/fc1f4134970a304e8662f052c91a3188c8175c32.jpeg"
}'
curl --request POST \
  --url https://api.openai-hk.com/kling/v1/videos/image2video \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'content-type: application/json' \
  --data '{
  "image": "https://pics2.baidu.com/feed/fc1f4134970a304e8662f052c91a3188c8175c32.jpeg"
}'

Request body โ€” full format

json
{
  "image": "https://pics2.baidu.com/feed/fc1f4134970a304e8662f052c91a3188c8175c32.jpeg",
  "image_tail": "",
  "prompt": "",
  "negative_prompt": "",
  "cfg_scale": 0,
  "mode": "std",
  "aspect_ratio": "1:1",
  "duration": "5",
  "notify_hook": ""
}
{
  "image": "https://pics2.baidu.com/feed/fc1f4134970a304e8662f052c91a3188c8175c32.jpeg",
  "image_tail": "",
  "prompt": "",
  "negative_prompt": "",
  "cfg_scale": 0,
  "mode": "std",
  "aspect_ratio": "1:1",
  "duration": "5",
  "notify_hook": ""
}

Parameter descriptions

ParameterTypeDescription
model_namestringModel name โ€” values: kling-v1, kling-v1-5, kling-v1-6
imagestringReference image โ€” required, supports Base64 or image URL, supports .jpg / .jpeg / .png, max 10MB, min resolution 300x300px
image_tailstringReference image for the last frame โ€” optional, supports Base64 or image URL, supports .jpg / .jpeg / .png, max 10MB, min resolution 300x300px
promptstringPositive text prompt โ€” optional, max 500 characters
negative_promptstringNegative text prompt โ€” optional, max 200 characters
cfg_scalenumberReference strength for the uploaded image during generation โ€” optional, range: [0,1]
modestringGeneration mode โ€” optional, values: std (high performance), pro (high quality)
aspect_ratiostringAspect ratio โ€” optional, values: 16:9, 9:16, 1:1
durationstringVideo duration โ€” optional, in seconds
notify_hookstringNotification callback URL โ€” optional, no notification if omitted

Response body

json
{
  "code": 0,
  "message": "ๆˆๅŠŸ",
  "request_id": "Cl6Mq2bftxoAAAAAAA_SxQ",
  "data": {
    "task_id": "Cl6Mq2bftxoAAAAAAA_SxQ",
    "task_status": "submitted",
    "created_at": 1725974776706,
    "updated_at": 1725974776706
  }
}
{
  "code": 0,
  "message": "ๆˆๅŠŸ",
  "request_id": "Cl6Mq2bftxoAAAAAAA_SxQ",
  "data": {
    "task_id": "Cl6Mq2bftxoAAAAAAA_SxQ",
    "task_status": "submitted",
    "created_at": 1725974776706,
    "updated_at": 1725974776706
  }
}

The returned data.task_id is used to query the result.

4. Get Task โ€‹

get https://api.openai-hk.com/kling/v1/{act1}/{act2}/{task_id}

ParameterRequiredDescription
act1Yesimages (text-to-image) or videos
act2Yesgenerations (text-to-image), text2video, image2video
task_idYesThe data.task_id returned from the creation request

Response body

  • Image
json
{
  "code": 0,
  "message": "ๆˆๅŠŸ",
  "request_id": "Clo_MGbfunoAAAAAABB5XA",
  "data": {
    "task_id": "Clo_MGbfunoAAAAAABB5XA",
    "task_status": "succeed",
    "task_status_msg": "",
    "created_at": 1725977118293,
    "updated_at": 1725977125849,
    "task_result": {
      "images": [
        {
          "index": 0,
          "url": "https://cdn.klingai.com/bs2/upload-kling-api/9575341070/image/Clo_MGbfunoAAAAAABB5XA-0_raw_image_0.png"
        }
      ],
      "videos": null
    }
  }
}
{
  "code": 0,
  "message": "ๆˆๅŠŸ",
  "request_id": "Clo_MGbfunoAAAAAABB5XA",
  "data": {
    "task_id": "Clo_MGbfunoAAAAAABB5XA",
    "task_status": "succeed",
    "task_status_msg": "",
    "created_at": 1725977118293,
    "updated_at": 1725977125849,
    "task_result": {
      "images": [
        {
          "index": 0,
          "url": "https://cdn.klingai.com/bs2/upload-kling-api/9575341070/image/Clo_MGbfunoAAAAAABB5XA-0_raw_image_0.png"
        }
      ],
      "videos": null
    }
  }
}
  • Video
json
{
  "code": 0,
  "message": "ๆˆๅŠŸ",
  "request_id": "CmZ4r2bfunIAAAAAABDEJw",
  "data": {
    "task_id": "CmZ4r2bfunIAAAAAABDEJw",
    "task_status": "succeed",
    "task_status_msg": "",
    "created_at": 1725977783786,
    "updated_at": 1725978074639,
    "task_result": {
      "images": null,
      "videos": [
        {
          "id": "cb6a5273-e12b-4731-98e7-c6fd45302027",
          "url": "https://cdn.klingai.com/bs2/upload-kling-api/9575341070/text2video/CmZ4r2bfunIAAAAAABDEJw-0_raw_video_1.mp4",
          "duration": "5.1"
        }
      ]
    }
  }
}
{
  "code": 0,
  "message": "ๆˆๅŠŸ",
  "request_id": "CmZ4r2bfunIAAAAAABDEJw",
  "data": {
    "task_id": "CmZ4r2bfunIAAAAAABDEJw",
    "task_status": "succeed",
    "task_status_msg": "",
    "created_at": 1725977783786,
    "updated_at": 1725978074639,
    "task_result": {
      "images": null,
      "videos": [
        {
          "id": "cb6a5273-e12b-4731-98e7-c6fd45302027",
          "url": "https://cdn.klingai.com/bs2/upload-kling-api/9575341070/text2video/CmZ4r2bfunIAAAAAABDEJw-0_raw_video_1.mp4",
          "duration": "5.1"
        }
      ]
    }
  }
}

Omni-Video (O1) โ€‹

0. Billing Rules โ€‹

  • Base price is 9,000 credits/second
  • When mode is pro, the price multiplier is 4/3
  • When video_list contains a video reference, the price multiplier is 1.5
  • Example: mode = pro, duration 5s, with video reference = 4/3 * 9000 * 1.5 * 5 = 90,000 credits

1. Create Task โ€‹

post https://api.openai-hk.com/kling/v1/videos/omni-video

json
{
  "prompt": "ๅคง้›ช็บท้ฃž",
  "model_name": "kling-video-o1",
  "duration": 5,
  "mode": "std",
  "aspect_ratio": "16:9",
  "notify_hook": "https://pdf2.openai-hk.com/test/2024/mqrunway"
}
{
  "prompt": "ๅคง้›ช็บท้ฃž",
  "model_name": "kling-video-o1",
  "duration": 5,
  "mode": "std",
  "aspect_ratio": "16:9",
  "notify_hook": "https://pdf2.openai-hk.com/test/2024/mqrunway"
}
json
{
  "code": 0,
  "message": "SUCCEED",
  "request_id": "8363283e-bcfb-4057-ad42-8717d9b2ea53",
  "data": {
    "task_id": "847130448077000794",
    "task_status": "submitted",
    "updated_at": 1770000156527
  }
}
{
  "code": 0,
  "message": "SUCCEED",
  "request_id": "8363283e-bcfb-4057-ad42-8717d9b2ea53",
  "data": {
    "task_id": "847130448077000794",
    "task_status": "submitted",
    "updated_at": 1770000156527
  }
}
  • The returned data.task_id is used as the task_id for querying the result.

2. Get Task โ€‹

get https://api.openai-hk.com/kling/v1/videos/omni-video/{task_id} get https://api.openai-hk.com/kling/v1/videos/omni-video/847130448077000794

  • Response body
json
{
  "code": 0,
  "data": {
    "created_at": 1770000156527,
    "final_unit_deduction": "4",
    "task_id": "847130448077000794",
    "task_info": {},
    "task_result": {
      "videos": [
        {
          "duration": "5.041",
          "id": "847130448194441245",
          "url": "https://v1-fdl.kechuangai.com/ksc2/F8mGkPgRjiK-INld7fvcJ_n8cwV_RjzxpIpm3m5kfwXLKQ4cn67WRMeyQMfuifV4rDNFjPX1PH5rbEoTfez0ddZv4m9sTur4snzKvXctXEOP0YARviRTHGsZhv-FNN5f30bHvU2VueI0lTdW1j5h512RFVZ4Q431efx9g8QLeyedlPXk5-5NpZO8AGsXomErm8gntYIM0Xp_B-bdcOA_OA.mp4?cacheKey=ChtzZWN1cml0eS5rbGluZy5tZXRhX2VuY3J5cHQSsAFB5FBBP68KklQlUWwwNC2TY0QQDjQPuwEes_26pzj-PNlcCxiEgPN1eNF8MSOOuZfqozg2ctZkzSvCC-at3XF-oyAPYMoTqs_X2s260Mqs76wb3HBAXh7pmlEKjvFrXNBqUT2vkF067ZoUFVO8lrJP5jy1HMUngVqrKN3CBZVG9VstNCOV_EIpRnCBM4NaCgVy-m7B7lh7egg6MtB8NUMi6z6AlTLcRWDPHp4dYUdu-hoSxWNjcgh9zqt_zDfpYBGATs3tIiA61EFyWCk9ny8N_13chrXWqfMvlGRP-k9eAJkMUL4bHCgFMAE&x-kcdn-pid=112757&pkey=AAVMKTXi-QYUPSnB1Zz5tHF-RbwKZxy6eEAgu_w2II3u3xxMy-3Ul-ai0XWtq-Ea0zAbT_E66gRxCxSBsKW2ct33_uHIzyE_bEAujw0dTnzN54WxGNA7aY18vYuWs1vwg6w"
        }
      ]
    },
    "task_status": "succeed",
    "task_status_msg": "",
    "updated_at": 1770000219604
  },
  "message": "SUCCEED",
  "request_id": "3a856e3c-7f79-45cf-a97a-a73630712883"
}
{
  "code": 0,
  "data": {
    "created_at": 1770000156527,
    "final_unit_deduction": "4",
    "task_id": "847130448077000794",
    "task_info": {},
    "task_result": {
      "videos": [
        {
          "duration": "5.041",
          "id": "847130448194441245",
          "url": "https://v1-fdl.kechuangai.com/ksc2/F8mGkPgRjiK-INld7fvcJ_n8cwV_RjzxpIpm3m5kfwXLKQ4cn67WRMeyQMfuifV4rDNFjPX1PH5rbEoTfez0ddZv4m9sTur4snzKvXctXEOP0YARviRTHGsZhv-FNN5f30bHvU2VueI0lTdW1j5h512RFVZ4Q431efx9g8QLeyedlPXk5-5NpZO8AGsXomErm8gntYIM0Xp_B-bdcOA_OA.mp4?cacheKey=ChtzZWN1cml0eS5rbGluZy5tZXRhX2VuY3J5cHQSsAFB5FBBP68KklQlUWwwNC2TY0QQDjQPuwEes_26pzj-PNlcCxiEgPN1eNF8MSOOuZfqozg2ctZkzSvCC-at3XF-oyAPYMoTqs_X2s260Mqs76wb3HBAXh7pmlEKjvFrXNBqUT2vkF067ZoUFVO8lrJP5jy1HMUngVqrKN3CBZVG9VstNCOV_EIpRnCBM4NaCgVy-m7B7lh7egg6MtB8NUMi6z6AlTLcRWDPHp4dYUdu-hoSxWNjcgh9zqt_zDfpYBGATs3tIiA61EFyWCk9ny8N_13chrXWqfMvlGRP-k9eAJkMUL4bHCgFMAE&x-kcdn-pid=112757&pkey=AAVMKTXi-QYUPSnB1Zz5tHF-RbwKZxy6eEAgu_w2II3u3xxMy-3Ul-ai0XWtq-Ea0zAbT_E66gRxCxSBsKW2ct33_uHIzyE_bEAujw0dTnzN54WxGNA7aY18vYuWs1vwg6w"
        }
      ]
    },
    "task_status": "succeed",
    "task_status_msg": "",
    "updated_at": 1770000219604
  },
  "message": "SUCCEED",
  "request_id": "3a856e3c-7f79-45cf-a97a-a73630712883"
}