Files
ai/docs/work-sync/LANDSCAPE_CHARACTER_ELEMENT_IMPLEMENTATION_REPORT_V1.md

6.0 KiB
Raw Permalink Blame History

16:9 与 Kling 视频角色元素实施报告 V1

实施日期:2026-07-15
状态:工程完成,真实元素创建与付费镜头待人工验收
适用范围:新 S+ 图片、关键帧、视频、Generation Plan 与 Kling V3 Omni 正式请求

1. 本阶段目标

  1. 新生产链路停止使用9:16,统一到16:9。
  2. 建立可复用的视频角色元素资产与审批流程。
  3. 让角色元素与关键帧、音色、视频参数、QC、成本共同冻结进不可变 Generation Plan。
  4. 正式 Omni 请求提交真实供应商元素 ID,而不是只依赖角色描述词。

2. 16:9 生产合同

平台新增单一生产格式常量:

视频:1920×1080 / 16:9 / 默认1080P
关键帧:2560×1440 / 16:9
原生4K3840×2160 / 16:9

该常量已接入关键帧、真人视频、Prompt Builder、Production Contract、Provider Lab、媒体合成和用户端表单。数据库中42个 ImageProvider/VideoProvider 的 production_aspect_ratioallowed_aspect_ratios 已统一为16:9。

历史素材、历史项目与已冻结 Generation Plan 不原地改写。旧镜头如需重生,应创建新的16:9计划修订,保留原执行证据。

3. 角色元素源视频

平台复用角色锚点视频测试执行器,新增 video_character_element_source 目的:

  • 单一人物,3-8秒,默认8秒。
  • 16:9、1080P、固定机位、浅灰中性背景、均匀正面光。
  • 腰部以上入镜,正面、左侧约30度、回正、右侧约30度、回正。
  • 只允许自然呼吸、眨眼与克制头部转动。
  • 可输入一句中性台词以提取自然声线。
  • 禁止字幕、文字、BGM、环境噪声、特效、切镜与遮脸。

生成是显式付费动作,不会因打开页面自动触发。输出保存为普通私有视频素材,并标记下一步为上传 Kling 元素库。

4. 供应商绑定与审批

新增 CharacterProviderBinding

global_character_id
look_version_id
source_asset_id
provider_code
provider_asset_type
provider_element_id
element_name / element_description
source_duration
voice_bound / voice_id / voice_description
validation_score / validation_report_json
binding_version / status / is_primary

约束:

  • 视频元素源素材若已提供,必须是视频且时长3-8秒。
  • 同一供应商元素 ID 不能绑定到两个角色。
  • 质检分低于90不能标记 approved 或主元素。
  • 正式生成只读取 approved 绑定。

当前公开文档没有提供已验证的“创建视频角色元素”API,因此平台不伪造自动上传能力。用户在 Kling 网页或 App 的元素库创建元素后,把真实 element_id 导入平台。后续若官方开放稳定接口,再单独增加自动创建执行器。

5. Generation Plan 与请求执行

冻结计划时,平台把以下信息写入 element_plan_json.actor_lock.provider_elements

  • 平台绑定 ID。
  • 项目角色 ID 与全局角色 ID。
  • 供应商代码、元素 ID、元素名称。
  • 是否绑定声线与 voice ID。

执行时只读取这份冻结快照:

{
  "element_list": [
    { "element_id": "供应商真实元素ID" }
  ]
}

Prompt 同时按数组顺序写入 <<<element_1>>><<<element_2>>> 等引用,避免角色、台词和声线互换。网页端 @元素名称 不是 API 绑定,不能替代 element_list

对于新 S+ Kling Omni 镜头,只要有出场角色缺少已审批元素,系统即抛出 SPLUS_CHARACTER_ELEMENT_BINDING_REQUIRED,在付费提交前停止。

6. 输入数量规则

  • 无参考视频时,Omni 图片与元素合计最多7个。
  • 视频角色元素最多3个。
  • 平台运行时按 最大图片数 = min(模型图片上限, 7 - 元素数量) 动态裁剪参考图。
  • 有参考视频时仍按官方更严格的4个合计上限和声音互斥规则执行。

7. 模型注册表

迁移后重新发布114个 Provider 的注册表:

注册表 当前数量 变化原因
能力版本 156 42个图片/视频 Provider 新增16:9能力修订
参数 Schema 版本 156 42个图片/视频 Provider 只允许16:9的新修订
价格版本 114 本阶段没有改价,继续复用原价格版本

旧注册表修订保留,旧 Generation Plan 仍可审计原参数。

8. 前端入口

全局角色页新增:

  • 供应商模型族、元素 ID、元素名称。
  • 可选源视频素材 ID。
  • 声线绑定与 voice ID。
  • 候选导入、质检分、审批为主元素。

项目角色页新增“生成元素源视频”。Generation Plan 详情会展示画幅、冻结元素 ID、角色名和元素名。

9. 验证结果

  • Prisma schema:有效。
  • 迁移:40/40 已部署。
  • Backend 生产构建:通过。
  • User App 生产构建:通过。
  • Model Registry 与 Generation Plan 定向测试:6/6 通过。
  • Prompt Builder 定向测试:7/7 通过。
  • 全量 Backend 测试:269通过、34失败,与上一同步基线一致。
  • Backend 与 Worker 受控重启后均为 active,健康检查返回 ok
  • 未触发新的付费角色源视频或正式视频生成。

LiveAction 历史测试仍有19条失败,其中多数来自旧 Prisma mock 与既有导演策略断言漂移,不是本阶段新接口的编译错误;需作为独立测试债处理。

10. 官方依据

11. 下一步验收

  1. 选择一名已通过三视图与锚点审核的角色,生成8秒身份源视频。
  2. 人工检查正侧脸一致性、服装、年龄、口型和声线。
  3. 在 Kling 元素库创建视频角色元素,导入真实 ID 并完成90分门禁。
  4. 用一个全新 S+ 单人物镜头冻结计划并生成候选。
  5. 对照 Generation Plan、ProviderLog、Kling 任务、QC 与真实账单。