跳到主要内容

对口型

PinduCloud 提供本页所列接口。请求使用 PinduCloud API Key;模型开通情况以当前账号的可用模型为准,参数按本页对应型号的协议组织。

POST 创建或管理请求可通过 model_name 选择账号已开通的可灵型号;未传时读取 model,两者都省略时使用 kling-v1。即使接口参数表未列出模型字段,也需确保账号已开通所选型号及对应能力。

人脸识别​

POST https://video.pinducloud.com.cn/kling/v1/videos/identify-face

识别视频中的人脸以进行对口型处理。

请求头​

参数类型必填默认值说明
Content-Typestring是application/json数据交换格式
Authorizationstring是Bearer sk-your-pinducloud-token,使用 PinduCloud API Key

请求体​

参数类型必填默认值说明
video_idstring否通过可灵 AI 生成的视频的 ID
- 用于指定视频、判断视频是否可用于对口型服务
- 与 video_url 参数二选一填写,不能同时为空,也不能同时有值
- 仅支持使用 30 天内生成的时长不超过 60 秒的视频
video_urlstring否所上传视频的获取 URL
- 用于指定视频,并判断视频是否可用于对口型服务
- 与 video_id 参数二选一填写,不能同时为空,也不能同时有值
- 视频文件支持 .mp4/.mov,文件大小不超过 100MB,视频时长不超过 60s 且不短于 2s,仅支持 720p 和 1080p、长宽的边长均位于 512px~2160px 之间,上述校验不通过会返回错误码等信息
- 系统会校验视频内容,如有问题会返回错误码等信息

请求示例​

curl --request POST \
--url https://video.pinducloud.com.cn/kling/v1/videos/identify-face \
--header 'Authorization: Bearer sk-your-pinducloud-token' \
--header 'Content-Type: application/json' \
--data '{
"video_url": "https://p1-kling.klingai.com/kcdn/cdn-kcdn112452/kling-qa-test/kling20260206mp4.mp4",
"video_id": ""
}'

响应示例​

{
"code": 0, // 错误码;错误详情见 message 字段
"message": "string", // 错误信息
"request_id": "string", // 请求ID,系统生成,用于跟踪请求、排查问题
"data": {
"session_id": "id", // 会话ID
"final_unit_deduction": "string", // 任务服务原生积分信息;本站实际扣费以使用日志为准
"face_data": [ //人脸数据列表
{
"face_id": "string", // 人脸ID
"face_image": "url", // 人脸图片URL
"start_time": 0, // 人脸出现开始时间,单位ms
"end_time": 5200 //人脸出现结束时间,单位ms
}
]
}
}

创建任务​

POST https://video.pinducloud.com.cn/kling/v1/videos/advanced-lip-sync

请求头​

参数类型必填默认值说明
Content-Typestring是application/json数据交换格式
Authorizationstring是Bearer sk-your-pinducloud-token,使用 PinduCloud API Key

请求体​

参数类型必填默认值说明
session_idstring是会话 ID,会基于对口型人脸识别接口生成
face_choosearray是指定人脸对口型
- 包括人脸 ID、口型参考等内容等
- 暂时仅支持指定单人对口型
  face_idstring是人脸 ID
- 由人脸识别接口返回
  audio_idstring否通过试听接口生成的音频的 ID
- 仅支持使用 30 天内生成的、时长不短于 2 秒且不超过 60 秒的音频
- audio_id、sound_file 参数二选一,不能同时为空,也不能同时有值
  sound_filestring否音频文件
- 支持传入音频 Base64 编码或图音频 URL(确保可访问)
- 音频文件支持 .mp3/.wav/.m4a/.aac,文件大小不超过 5MB,格式不匹配或文件过大会返回错误码等信息
- 仅支持使用时长不短于 2 秒且不长于 60 秒的音频
- audio_id、sound_file 参数二选一,不能同时为空,也不能同时有值
- 系统会校验音频内容,如有问题会返回错误码等信息
  sound_start_timelong是音频裁剪起点时间
- 以原始音频开始时间为准,开始时间为 0 分 0 秒,单位 ms
- 起点之前的音频会被裁剪,裁剪后音频不得短于 2 秒
  sound_end_timelong是音频裁剪终点时间
- 以原始音频开始时间为准,开始时间为 0 分 0 秒,单位 ms
- 终点之后的音频会被裁剪,裁剪后音频不得短于 2 秒
- 终点时间不得晚于原始音频总时长
  sound_insert_timelong是裁剪后音频插入时间
- 以视频开始时间为准,视频开始时间为 0 分 0 秒,单位 ms
- 插入音频的时间范围与该人脸可对口型时间区间至少重合 2 秒时长
- 插入音频的开始时间不得早于视频开始时间,插入音频的结束时间不得晚于视频结束时间
  sound_volumefloat否1音频音量大小;值越大,音量越大
- 取值范围:[0, 2]
  original_audio_volumefloat否1原始视频音量大小;值越大,音量越大
- 取值范围:[0, 2]
- 原视频无声时,当前参数无效果
watermark_infoobject否是否同时生成含水印的结果
- 通过enabled参数定义,具体格式如下:
- true 为生成,false 为不生成
- 暂不支持自定义水印
external_task_idstring否自定义任务 ID
- 用户自定义任务 ID,传入不会覆盖系统生成的任务 ID,本站任务查询仍使用创建响应返回的公开任务 ID
- 请注意,单用户下需要保证唯一性
callback_urlstring否本次任务结果回调地址,发送给任务服务;是否投递及消息格式以实际服务行为为准
- 查询接口用于确认最终任务状态,请保留创建响应中的任务 ID

参数格式说明

watermark_info

{
"watermark_info": { "enabled": true }
}

请求示例​

curl --request POST \
--url https://video.pinducloud.com.cn/kling/v1/videos/advanced-lip-sync \
--header 'Authorization: Bearer sk-your-pinducloud-token' \
--header 'Content-Type: application/json' \
--data '{
"session_id": "850508686686064678",
"face_choose": [
{
"face_id": "0",
"sound_file": "https://p1-kling.klingai.com/kcdn/cdn-kcdn112452/kling-qa-test/go-to-world.mp3",
"sound_insert_time": 1000,
"sound_start_time": 0,
"sound_end_time": 3000,
"sound_volume": 2,
"original_audio_volume": 2
}
],
"external_task_id": "",
"callback_url": ""
}'

响应示例​

{
"code": 0, // 错误码;错误详情见 message 字段
"message": "string", // 错误信息
"request_id": "string", // 请求ID,系统生成,用于跟踪请求、排查问题
"data": {
"task_id": "string", // 任务ID,系统生成
"task_info": { //任务创建时的参数信息
"external_task_id": "string" //客户自定义任务ID
},
"task_status": "string", // 任务状态,枚举值:submitted(已提交)、processing(处理中)、succeed(成功)、failed(失败)
"created_at": 1722769557708, // 任务创建时间,Unix时间戳、单位ms
"updated_at": 1722769557708 //任务更新时间,Unix时间戳、单位ms
}
}

查询任务(单个)​

GET https://video.pinducloud.com.cn/kling/v1/videos/advanced-lip-sync/{id}

请求头​

参数类型必填默认值说明
Content-Typestring否application/jsonGET 查询不携带 JSON 请求体,可省略此头
Authorizationstring是Bearer sk-your-pinducloud-token,使用 PinduCloud API Key

请求示例​

curl --request GET \
--url https://video.pinducloud.com.cn/kling/v1/videos/advanced-lip-sync/{task_id} \
--header 'Authorization: Bearer sk-your-pinducloud-token'

响应示例​

{
"code": 0, // 错误码;错误详情见 message 字段
"message": "string", // 错误信息
"request_id": "string", // 请求ID,系统生成,用于跟踪请求、排查问题
"data": {
"task_id": "string", // 任务ID,系统生成
"task_status": "string", // 任务状态,枚举值:submitted(已提交)、processing(处理中)、succeed(成功)、failed(失败)
"task_status_msg": "string", // 任务状态信息,当任务失败时展示失败原因(如触发平台的内容风控等)
"task_info": { //任务创建时的参数信息
"parent_video": { //原始视频信息
"id": "string", // 原始视频ID
"url": "string", // 原始视频URL
"duration": "string" //原始视频时长,单位s
}
},
"task_result": { //任务结果
"videos": [ //生成的视频列表
{
"id": "string", // 生成的视频ID;全局唯一
"url": "string", // 生成视频的URL(请注意,为下载地址可能有有效期,请及时转存)
"watermark_url": "string", // 含水印视频下载URL,防盗链格式
"duration": "string" //视频总时长,单位s
}
]
},
"watermark_info": {
"enabled": true //是否启用水印
},
"final_unit_deduction": "string", // 任务服务原生积分信息;本站实际扣费以使用日志为准
"created_at": 1722769557708, // 任务创建时间,Unix时间戳、单位ms
"updated_at": 1722769557708 //任务更新时间,Unix时间戳、单位ms
}
}

查询任务(列表)​

列表仅返回当前用户在该接口创建的任务。响应使用本站的 items 分页结构;每项 data 保留原生任务字段,task_id 为本站公开任务 ID。外层 created_at 使用 Unix 秒,原生 data 内的时间单位见字段注释。

查询参数​

参数类型必填默认值说明
pageNuminteger否1页码,范围 1–500
pageSizeinteger否20每页数量,范围 1–500
filter.modelstring否按原版模型名称筛选
filter.task_idsstring否按公开任务 ID 筛选;重复传入参数指定多个 ID,最多 100 个
GET https://video.pinducloud.com.cn/kling/v1/videos/advanced-lip-sync

请求头​

参数类型必填默认值说明
Content-Typestring否application/jsonGET 查询不携带 JSON 请求体,可省略此头
Authorizationstring是Bearer sk-your-pinducloud-token,使用 PinduCloud API Key

请求示例​

curl --request GET \
--url 'https://video.pinducloud.com.cn/kling/v1/videos/advanced-lip-sync?pageNum=1&pageSize=30' \
--header 'Authorization: Bearer sk-your-pinducloud-token'

响应示例​

{
"items": [{
"task_id": "task-example",
"platform": "kling",
"action": "advanced_lip_sync",
"status": "SUCCESS",
"progress": "100%",
"fail_reason": "",
"created_at": 1722769557,
"data": {
"code": 0,
// 错误码;错误详情见 message 字段
"message": "string",
// 错误信息
"request_id": "string",
// 请求ID,系统生成,用于跟踪请求、排查问题
"data": {
"task_id": "task-example",
// 任务ID,系统生成
"task_status": "succeed",
// 任务状态,枚举值:submitted(已提交)、processing(处理中)、succeed(成功)、failed(失败)
"task_status_msg": "string",
// 任务状态信息,当任务失败时展示失败原因(如触发平台的内容风控等)
"task_info": {
//任务创建时的参数信息
"parent_video": {
//原始视频信息
"id": "string",
// 原始视频ID
"url": "string",
// 原始视频URL
"duration": "string" //原始视频时长,单位s
}
},
"task_result": {
//任务结果
"videos": [
//生成的视频列表
{
"id": "string",
// 生成的视频ID;全局唯一
"url": "string",
// 生成视频的URL(请注意,为下载地址可能有有效期,请及时转存)
"watermark_url": "string",
// 含水印视频下载URL,防盗链格式
"duration": "string" //视频总时长,单位s
}]
},
"watermark_info": {
"enabled": true //是否启用水印
},
"final_unit_deduction": "string",
// 任务服务原生积分信息;本站实际扣费以使用日志为准
"created_at": 1722769557708,
// 任务创建时间,Unix时间戳、单位ms
"updated_at": 1722769557708 //任务更新时间,Unix时间戳、单位ms
}
}
}],
"total": 1,
"page_num": 1,
"page_size": 30
}