mcpField
K
kling-advanced-lip-sync

kling-advanced-lip-sync

github.com/calesthio创意与媒体21997 次安装15 周前更新
代码仓库

关于 kling-advanced-lip-sync

使用 Kling AI Open Platform Advanced Lip-Sync API 处理现有视频的工作流技能,面向制作人员指导选脸、音频定时、任务监控与结果审查,并区别于生成全新口播表演的流程。

主要功能

  1. 01识别并选择可见人脸
  2. 02校验视频与音频输入
  3. 03设置音频裁剪与插入时间
  4. 04创建并监控口型同步任务
  5. 05检查同步、画面与混音
  6. 06记录授权与输出管理

适用场景

  1. 01为已获授权的访谈本地化台词
  2. 02替换多人片段中一位发言者的对白
  3. 03交付前检查口型同步结果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/calesthio/generative-media-skills --skill kling-advanced-lip-sync

安装后在 Claude Code 中输入/kling-advanced-lip-sync确认已加载。

附带文件EVAL.md

详细介绍

Kling 高级口型同步

当需要对现有视频使用 Kling AI Open Platform 文档所述的高级口型同步工作流时,请使用此技能。它与 Avatar 不同:Avatar 会根据静态图像和音频生成新的说话表演。

验证与证据

  • 文档事实: 一手 Kling Open Platform 页面中说明的行为。
  • 生产启发式: 实用的同步/修复建议,不保证适用于 Kling。
  • 实证观察: 根据实际任务/输出测得的结果。

事实已于 2026-07-12 验证。端点可见性、使用权限、定价、回调行为、数据保留、限制和政策均可能变化。付费使用前,请重新查阅官方文档、已认证的控制台、账户套餐和适用协议。

官方工作流

当前示例中的基本 URL:

https://api-singapore.klingai.com

操作:

  1. POST /v1/videos/identify-face
  2. POST /v1/videos/advanced-lip-sync
  3. GET /v1/videos/advanced-lip-sync/{id}
  4. GET /v1/videos/advanced-lip-sync

虽然导航中可能将此选项卡称为 Face Recognition,但对应操作是 Identify Face。应将其描述为用于选择可见人脸的人脸识别/检测,不要声称它能进行通用身份匹配。

身份验证

官方文档使用根据 Kling Open Platform 访问凭证/密钥生成的 JWT Bearer 身份验证:

Authorization: Bearer ${KLING_JWT}
Content-Type: application/json

按照当前身份验证页面中的说明构造令牌并了解其有效期。在服务器端生成令牌,遵循最小权限原则,切勿将密钥/机密/JWT 放入浏览器代码、日志、回调或测试夹具中。

验证视频源

Identify Face 接受以下两者之一,且只能提供一个:

  • video_id:文档所述近期时间范围内由 Kling 生成的视频;
  • video_url:可访问的外部视频。

两者不能同时使用。

当前外部视频限制包括:格式为 .mp4 或 .mov,时长为 2-60 秒,文件大小不超过 100 MB,分辨率为 720p 或 1080p,宽和高分别为 512-2160 像素。当前文档还将 Kling video_id 的可用时间限制为 30 天内。Kling 会进行内容验证。

预先检查编解码器/容器、时长、分辨率、文件大小、URL 可访问性、音频是否存在、人脸是否清晰可见、剪辑点、遮挡和授权情况。不要上传 Kling 无法访问的私有 URL,也不要使用可能在不同操作之间发生变化的可变 URL。

识别并选择人脸

示例:

POST /v1/videos/identify-face

{"video_url":"https://example.com/source.mp4"}

响应包含 session_id 和 face_data[];每张人脸可能包含 face_id、face_image、start_time 和 end_time,时间单位为毫秒。

向用户或获授权的操作人员展示检测到的人脸裁剪图/时间区间。如果存在多张人脸,除非有已记录且获批准的选择规则,否则必须明确指定 face_id。记录所选人脸、选择原因和时间区间。

face_choose 是一个数组,但当前文档明确说明仅支持单人唇形同步。不要声称支持同时替换多位说话者。源视频发生任何编辑后,都应重新识别;不要将过期会话用于已更改的媒体。

在已验证的文档中,Kling 没有公开说明会话的过期/复用规则。请尽量缩短人脸识别与创建任务之间的间隔,并在会话无效时将其作为新的人脸识别任务处理。

准备音频和时间参数

对于选定的人脸,准确提供以下其中一项:

  • audio_id:近期 Kling TTS 音频;
  • sound_file:可访问的 URL 或 Base64 音频。

两者互斥。

当前对外部音频的限制包括 .mp3、.wav、.m4a 或 .aac 格式,时长为 2-60 秒,且大小不超过 5 MB。当前文档将 audio_id 的时效限制为 30 天。

时间参数的单位为毫秒:

  • sound_start_time:源音频的裁剪起点;
  • sound_end_time:裁剪终点;
  • sound_insert_time:在源视频中的插入点。

验证:

$$ cropDuration = soundEnd - soundStart \ge 2000\text{ ms} $$

裁剪范围必须位于源音频内,插入范围必须位于视频内,并且插入范围与选定人脸的检测出现区间至少重叠两秒。

明确使用毫秒进行计算。切勿误传秒数。

混音控制:

  • sound_volume:当前文档记录的范围为 0-2,默认值为 1;
  • original_audio_volume:范围为 0-2,默认值为 1;源视频无声时不生效。

必要时保留环境音,但确保源视频中的对白不会造成重复语音。除唇动外,还要单独检查最终混音。

创建任务

请求示例:

{
  "session_id": "<identify-face-session>",
  "face_choose": [
    {
      "face_id": "<approved-face-id>",
      "sound_file": "https://example.com/dialogue.wav",
      "sound_start_time": 0,
      "sound_end_time": 3000,
      "sound_insert_time": 1000,
      "sound_volume": 1,
      "original_audio_volume": 0.25
    }
  ],
  "external_task_id": "scene-014-take-03",
  "callback_url": "https://example.com/hooks/kling",
  "watermark_info": {"enabled": false}
}

此示例假设裁剪时长为三秒、视频时长足够,并且与选定人脸区间至少重叠两秒。

external_task_id 的唯一性由调用方负责。将其与系统 task_id、源文件/音频哈希、会话/人脸 ID、时间参数、音量、尝试次数、同意记录和成本预估一并保存。

监控和对账

任务状态:

  • submitted
  • processing
  • succeed
  • failed

以单任务端点为准。回调可以减少轮询延迟,但生产环境的处理应具备幂等性,并能接受重复或乱序事件。除非当前回调页面说明了签名机制,否则不要臆造。信任或发布回调数据前,先获取任务信息。

列表查询使用当前分页范围;已知任务 ID 时,不要扫描列表。

遇到临时性速率限制、并发或服务器错误时,使用有界抖动重试。对于认证、权限、参数、策略或无效媒体错误,不要原样重试。保留提供方的代码、消息和请求 ID。

成本、访问权限和结果保管

核验期间,公开定价页面未明确说明 Advanced Lip-Sync 的专属列表价格。不要假设适用 Avatar 定价。检查已认证控制台/套餐权益,并创建注明日期的预算审批记录。

成功的任务响应会提供最终扣费字段;请根据预估核对实际用量和余额。

文档说明生成的媒体会在 30 天后删除。请及时下载到受控存储中,计算校验和、检查媒体,并保留来源记录。不要将提供方 URL 用作永久交付存储。

端点权限和并发限制取决于账户/套餐。应准确说明速率限制、并发、套餐用尽或权限拒绝等错误。

同意、隐私和权利

此工作流会处理可识别的人脸视频和语音/音频。必须要求:

  • 对肖像和音频/语音拥有明确且有记录的授权;
  • 明确预期用途、受众、地域、期限、修改范围、撤销方式和保留期限;
  • 对未成年人、员工、公众人物、政治用途、已故人士和敏感情境进行额外审查;
  • 不得进行欺骗性冒充或未披露的重大修改;
  • 对源视频、人脸裁剪片段、音频、会话和输出设置访问控制和删除流程;
  • 在有要求时进行平台/法律披露并保留来源记录。

Kling 的技术性 face_id 不能证明身份或同意。请查阅当前 API 隐私政策/条款,了解托管、存储、传输、处理、模型改进和企业例外情况。不要对训练、数据驻留或删除作出无条件保证。

同步质量检查与修复

Kling 未发布正式的同步质量指标或修复 API。以下是生产环境中的经验做法:

  1. 以正常速度播放,并逐帧检查爆破音、双唇音、词语开头和短语结尾处。
  2. 检查嘴部动作是否与语音同时开始和结束,而不是与室内底噪同步。
  3. 确认所选人脸在插入片段期间始终可见。
  4. 检查侧脸、剪辑点、遮挡、手遮住嘴部、面部毛发和运动模糊。
  5. 检查下颌、牙齿/舌头、表情僵住、身份漂移和周围像素。
  6. 混音发生变化后,检查环境音连续性和重叠语音。
  7. 优先通过重新裁剪或调整插入时间来修复时序。
  8. 对于困难片段,应缩短片段,而不是反复处理完整视频。
  9. 保留未修改的母版,并对比修改范围之外的内容。

不要声称重新运行一定会改善输出。每次只更改一个变量,记录下来并进行对比。

示例 1:单人本地化插入

这是一个完整示例,并非强制公式。

**意图:**替换一段经授权采访中的 3 秒台词,同时保留室内环境音。

预检一个时长 12 秒、低于 100 MB 的 1080p MP4,确认画面中只有一位可见且已同意的说话者,并提供一个时长 3.2 秒、低于 5 MB 的 WAV。识别人脸,选择时间范围涵盖第 2-10 秒的获准人脸,然后将音频裁剪为 100-3100 ms,并在 3500 ms 处插入。这样会在视频范围内插入一段 3000 ms 的内容,并且至少有两秒落在人脸时间范围内。将源对话音量调低到足以避免重叠,同时保留环境音。

按任务 ID 监控,完成后立即下载并计算校验和,然后检查辅音、开头/结尾处的动作、身份、遮挡和环境音。如果同步开始得太晚,应先调整插入时间或裁剪范围,再更改音量或重新生成音频。

示例 2:检测到多个人脸

这是一个完整示例,并非强制公式。

**意图:**替换一段双人小组讨论视频中主持人的台词。

识别人脸会返回两张具有不同裁剪区域和时间范围的人脸。展示两者,由获准的编辑者选择主持人。由于文档仅说明支持单人唇形同步,因此只为该人脸创建一个任务,不要承诺同时替换嘉宾的台词。选择一段主持人始终可见且嘉宾不会遮挡其嘴部的片段。如果只剩环境音,则保留原始音频;否则使用准备好的混音。

如果需求变为替换两位说话者,应停止操作并改用其他受支持的工作流,而不是串联使用未经文档说明的多个人脸任务。

来源

已于 2026-07-12 核实的官方来源:

评论

支持 Markdown