Skip to content
Graph visualization
扫码添加客服

视频延长

更新时间
6 天前

TIP

由于任务是异步提交的,请在提交任务后,通过 查询任务状态 接口查询任务状态及结果。

对于对口型场景,生成预计在 3 分钟左右,请耐心等待。

接口描述

WARNING

请确保使用的图片中有人像,否则会报错 there is no human in the video

对口型是指根据文本生成视频,视频中的人物会根据文本内容进行对口型。

请求

WARNING

为了让 DMXAPI 区分模型厂商,请在原 kling API 的 endpoint 基础上添加 /kling 路径,组合后的请求地址如下所示。

  • 请求方式: POST

  • 请求地址: https://{api_url}/kling/v1/videos/lip-sync

请求参数

参数名类型必填默认值描述
inputobject必须包含多个字段,用于指定视频、口型对应内容等
input.video_idstring必须*可灵AI生成的视频ID。与video_url二选一,仅支持30天内生成的5-10秒视频
input.video_urlstring必须*视频获取链接。支持mp4/mov格式,≤100MB,2-10秒,720p/1080p
input.modestring必须生成模式:text2videoaudio2video
input.textstring可选†口型对应文本,mode为text2video时必填,最大长度120字符
input.voice_idstring可选†音色ID,mode为text2video时必填,请查阅官方文档
input.voice_languagestring可选†zh音色语种:zh(中文)或en(英文)
input.voice_speedfloat可选†1.0语速,范围[0.8-2.0],精确到小数点后1位
input.audio_typestring可选‡音频传输方式:fileurl,mode为audio2video时必填
input.audio_filestring可选‡音频文件Base64编码,audio_type为file时必填,支持mp3/wav/m4a/acc,≤5MB
input.audio_urlstring可选‡音频文件URL,audio_type为url时必填,格式要求同audio_file
callback_urlstring可选任务结果回调通知地址

注释说明:

  • * 表示 video_id 和 video_url 必须二选一
  • 表示在 text2video 模式下必填
  • 表示在 audio2video 模式下必填

视频要求

  • 格式:.mp4.mov
  • 大小:≤100MB
  • 时长:2-10秒
  • 分辨率:720p或1080p
  • 尺寸:边长在720px~1920px之间

音频要求

  • 格式:.mp3.wav.m4a.acc
  • 大小:≤5MB
  • Base64编码,格式不匹配或文件过大会返回错误码等信息
  • 质量:系统会校验文本内容,如有问题会返回错误码等信息

代码示例

深色背景为可以修改的参数,非必选参数已经注释,可以按照自己的需求启用。

py
import http.client
import json

# 配置全局变量
API_URL = "www.dmxapi.cn" # API 节点
DMX_API_TOKEN = "sk-XXXXXXXXXXXXX" # API 密钥

# 创建HTTP连接对象,用于后续所有API请求
conn = http.client.HTTPSConnection(API_URL)

def kling_lip_sync():
    """调用 Kling AI 的口型同步API,提交一个口型同步任务
    
    返回值:
        task_id: 生成任务的唯一标识符,用于后续查询任务结果
    """
    # 构建API请求体,包含所有图像生成参数
    payload = json.dumps({
    "input": {
        # kling 生成的视频
        "task_id": "Cl6kH2gHPegAAAAABJAWDA", # 任务ID
        "video_id": "aeba40f7-473a-47a3-ab85-02dba121970c", # 视频ID

        # 提交视频url
        # "video_url": "https://dmxapi.cn/video.mp4",

        # 文本生成模式
        "mode": "text2video", 
        "text": "欢迎大家使用 DMXAPI", # 文本内容最大长度120
        "voice_id": "girlfriend_1_speech02", # 音色ID 可见 https://docs.qingque.cn/s/home/eZQDvafJ4vXQkP8T9ZPvmye8S
        "voice_language": "zh", # 音色语种
        "voice_speed": 1.0 # 语速

        # 音频生成模式
        # "mode": "audio2video", # 音频生成模式
        # "audio_type": "file",  # 或 "url"
        # # 使用文件时:
        # "audio_file": "base64_encoded_audio",
        # # 或使用URL时:
        # "audio_url": "https://example.com/audio.mp3"
    }
    })
    
    # 构建请求头,包含认证信息和内容类型
    headers = {
    'Authorization': f'Bearer {DMX_API_TOKEN}',  # 使用Bearer令牌认证方式
    'Content-Type': 'application/json'  # 指定请求体格式为JSON
    }
    # 发送POST请求,路径为图像生成API端点
    conn.request("POST", "/kling/v1/videos/lip-sync", payload, headers)
    # 获取API响应并解析JSON数据
    res = conn.getresponse()
    json_data = json.loads(res.read().decode("utf-8"))
    # print(json_data)
    if json_data['code'] == 0:
        # 成功则返回提交的任务 id
        return json_data['data']['task_id']
    else:
        # 失败则返回错误信息
        return json_data['message']

if __name__ == "__main__":
    print(kling_lip_sync())

生成响应参数

业务码的含义请参考 业务码

{
	'code': 0, // 业务码 0 表示成功
	'message': 'SUCCEED', // 消息
	'request_id': 'CjikY2gHPbcAAAAABI5n9g', // 请求ID
	'data': {
		'task_id': 'CjikY2gHPbcAAAAABI5n9g', // 任务ID
		'task_status': 'submitted', // 任务状态
		'created_at': 1746773850590, // 创建时间
		'updated_at': 1746773850590 // 更新时间
	}
}

查询响应参数

{
  "code": 0, //错误码;具体定义见1.1错误码
  "message": "string", //错误信息;具体定义见1.1错误码
  "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(请注意,为保障信息安全,生成的图片/视频会在30天后被清理,请及时转存)
      		"duration": "string" //原视频总时长,单位s
        }
      }, //任务创建时用户填写的详细信息
      "task_result":{
        "videos":[  //数组是为了保留扩展性,以防未来要支持n
          {
            "url": "string", //对口型视频的URL(请注意,为保障信息安全,生成的图片/视频会在30天后被清理,请及时转存)
            "duration": "string" //对口型视频总时长,单位s
          }
        ]
    	}
      "created_at": 1722769557708, //任务创建时间,Unix时间戳、单位ms
      "updated_at": 1722769557708, //任务更新时间,Unix时间戳、单位ms
    }
  ]
}